ConfigReader(四)—— ReadBuffConfig
来源:互联网 发布:博雅立方 知乎 编辑:程序博客网 时间:2024/05/29 02:35
目录为:Assets/Scripts/ConfigReader/目录下ReadBuffConfig.cs这里读取的配置文件是技能buff相关的。
先来看看配置文件,配置文件在编辑器内的目录为:
Assets/Resources/Config/SkillCfg_buff.xml
因为太长了就只截取两段吧。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><SkillCfg_buff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <info un32ID="169999"> <szName>隐身测试</szName> <n32UseMP>0</n32UseMP> <n32UseHP>0</n32UseHP> <n32UseCP>0</n32UseCP> <bIsCoolDown>1</bIsCoolDown> <n32TriggerRate>1000</n32TriggerRate> <bIfAffectBuilding>0</bIfAffectBuilding> <bIfAffectHero>1</bIfAffectHero> <bIfAffectMonster>0</bIfAffectMonster> <eBuffType>1</eBuffType> <eBuffTarget>2</eBuffTarget> <eTargetType>1</eTargetType> <eEffect0LastTick>10000</eEffect0LastTick> <eEffect0EffectInterval>0</eEffect0EffectInterval> <n32ReplaceType>2</n32ReplaceType> <n32RepeatTimes>1</n32RepeatTimes> <n32RejectID>0</n32RejectID> <n32ReplaceID>0</n32ReplaceID> <bEffect0ClearWhenDie>1</bEffect0ClearWhenDie> <szEffectIcon>0</szEffectIcon> <szEffectSound>0</szEffectSound> <szEffectDes>0</szEffectDes> <szEffection>yinshen</szEffection> <n32EffectID>27</n32EffectID> <eEffectValue>1</eEffectValue> <eEffectRate>0</eEffectRate> <eFlyEffectID>0</eFlyEffectID> <StartEventID>0</StartEventID> <IntervalEventID>0</IntervalEventID> <EndEventID>0</EndEventID> </info> <info un32ID="169998"> <szName>隐身测试-被动</szName> <n32UseMP>0</n32UseMP> <n32UseHP>0</n32UseHP> <n32UseCP>0</n32UseCP> <bIsCoolDown>0</bIsCoolDown> <n32TriggerRate>1000</n32TriggerRate> <bIfAffectBuilding>0</bIfAffectBuilding> <bIfAffectHero>1</bIfAffectHero> <bIfAffectMonster>0</bIfAffectMonster> <eBuffType>1</eBuffType> <eBuffTarget>2</eBuffTarget> <eTargetType>1</eTargetType> <eEffect0LastTick>10000</eEffect0LastTick> <eEffect0EffectInterval>0</eEffect0EffectInterval> <n32ReplaceType>2</n32ReplaceType> <n32RepeatTimes>1</n32RepeatTimes> <n32RejectID>0</n32RejectID> <n32ReplaceID>0</n32ReplaceID> <bEffect0ClearWhenDie>1</bEffect0ClearWhenDie> <szEffectIcon>0</szEffectIcon> <szEffectSound>0</szEffectSound> <szEffectDes>0</szEffectDes> <szEffection>0</szEffection> <n32EffectID>26</n32EffectID> <eEffectValue>11399901</eEffectValue> <eEffectRate>0</eEffectRate> <eFlyEffectID>0</eFlyEffectID> <StartEventID>0</StartEventID> <IntervalEventID>0</IntervalEventID> <EndEventID>0</EndEventID> </info> <info/>
然后是ReadBuffConfig.cs
using System;using UnityEngine;using System.Xml;using System.Collections.Generic;//这个类读的配置文件是跟技能buff相关的,但是这里只读取了一部分//这个类要读的文件在编辑器内的路径为:Assets/Resources/Config/SkillCfg_buffpublic class ReadBuffConfig{ XmlDocument xmlDoc = null; //构造函数 public ReadBuffConfig() { } //构造函数 public ReadBuffConfig(string xmlFilePath) { //加载配置文件 ResourceUnit xmlfileUnit = ResourcesManager.Instance.loadImmediate (xmlFilePath, ResourceType.ASSET); TextAsset xmlfile = xmlfileUnit.Asset as TextAsset; if (!xmlfile) { Debug.LogError(" error infos: 没有找到指定的xml文件:" + xmlFilePath); } xmlDoc = new XmlDocument (); //Load XML xmlDoc.LoadXml (xmlfile.text); XmlNodeList infoNodeList = xmlDoc.SelectSingleNode ("SkillCfg_buff").ChildNodes; for (int i = 0; i < infoNodeList.Count; i++) { //(XmlNode xNode in infoNodeList) if ((infoNodeList[i] as XmlElement).GetAttributeNode("un32ID") == null) { continue; } string typeName = (infoNodeList [i] as XmlElement).GetAttributeNode ("un32ID").InnerText; BuffConfigInfo buffInfo = new BuffConfigInfo (); buffInfo.BuffID = Convert.ToUInt32 (typeName); foreach (XmlElement xEle in infoNodeList[i].ChildNodes) { #region 搜索 switch (xEle.Name) { case "szName": buffInfo.BUffName = Convert.ToString(xEle.InnerText); break; case "szEffectIcon": buffInfo.IconRes = Convert.ToString(xEle.InnerText); break; case "n32EffectID": buffInfo.effectID = Convert.ToInt32(xEle.InnerText); break; case "szEffection": buffInfo.EffectRes = Convert.ToString(xEle.InnerText); break; case "eEffect0LastTick": buffInfo.TotalTime = Convert.ToInt32(xEle.InnerText) / 1000.0f; break; case "szEffectSound": buffInfo.sound = Convert.ToString(xEle.InnerText); break; case "eFlyEffectID": buffInfo.eFlyEffectID = Convert.ToInt32(xEle.InnerText); break; } #endregion } ConfigReader.buffXmlInfoDict.Add (buffInfo.BuffID, buffInfo); } }}/*这是这个xml文件的结构<info un32ID="169999"> <szName>隐身测试</szName> <n32UseMP>0</n32UseMP> <n32UseHP>0</n32UseHP> <n32UseCP>0</n32UseCP> <bIsCoolDown>1</bIsCoolDown> <n32TriggerRate>1000</n32TriggerRate> <bIfAffectBuilding>0</bIfAffectBuilding> <bIfAffectHero>1</bIfAffectHero> <bIfAffectMonster>0</bIfAffectMonster> <eBuffType>1</eBuffType> <eBuffTarget>2</eBuffTarget> <eTargetType>1</eTargetType> <eEffect0LastTick>10000</eEffect0LastTick> <eEffect0EffectInterval>0</eEffect0EffectInterval> <n32ReplaceType>2</n32ReplaceType> <n32RepeatTimes>1</n32RepeatTimes> <n32RejectID>0</n32RejectID> <n32ReplaceID>0</n32ReplaceID> <bEffect0ClearWhenDie>1</bEffect0ClearWhenDie> <szEffectIcon>0</szEffectIcon> <szEffectSound>0</szEffectSound> <szEffectDes>0</szEffectDes> <szEffection>yinshen</szEffection> <n32EffectID>27</n32EffectID> <eEffectValue>1</eEffectValue> <eEffectRate>0</eEffectRate> <eFlyEffectID>0</eFlyEffectID> <StartEventID>0</StartEventID> <IntervalEventID>0</IntervalEventID> <EndEventID>0</EndEventID></info>*///看来这里只读取一部分public class BuffConfigInfo: System.Object{ public uint BuffID; public string BUffName; public string IconRes; public string EffectRes; public int effectID; public float TotalTime; public string sound; public int eFlyEffectID; //buff后续击飞效果id}
阅读全文
0 0
- ConfigReader(四)—— ReadBuffConfig
- ConfigReader(六十)—— ConfigReader
- Commom(十)—— ConfigReader
- ConfigReader(一)—— MapConfig
- ConfigReader(二)—— MapLoadConfig
- ConfigReader(三)—— ReadAdvancedGuideConfig
- ConfigReader(五)—— ReadBuySkinConfig
- ConfigReader(六)—— ReadCombineConfig
- ConfigReader(七)—— ReadDailyBonusConfig
- ConfigReader(八)—— ReadDailyTaskConfig
- ConfigReader(九)—— ReadGuideAbsorbTaskConfig
- ConfigReader(十)—— ReadGuideBornNpcTaskConfig
- ConfigReader(十一)—— ReadGuideCameraTaskConfig
- ConfigReader(十二)—— ReadGuideClickButtonTaskConfig
- ConfigReader(十三)—— ReadGuideFlashTaskConfig
- ConfigReader(十四)—— ReadGuideHelpConfig
- ConfigReader(十五)—— ReadGuideKillHeroTaskConfig
- ConfigReader(十六)—— ReadGuideKillNpcTaskConfig
- 解决Ubuntu中vi命令的编辑模式下不能正常使用方向键和退格键的问题
- 序
- html5_document简单使用
- cctype和climits的用法
- 平台无关性对于Java的重要性
- ConfigReader(四)—— ReadBuffConfig
- Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
- 自定义View 带箭头的圆旋转
- 方法重载和方法覆盖及其异同(Java)
- sqlalchemy建表补充于关联查询
- abstract class和interface有什么区别?
- CIFAR10数据集 matlab可视化及理解
- Java虚拟机是如何实现安全性?
- 第一周