ConfigReader(二十八)—— ReadHeroConfig
来源:互联网 发布:超链接调用js方法 编辑:程序博客网 时间:2024/06/05 22:52
目录为:Assets/Scripts/ConfigReader/目录下
ReadHeroConfig.cs
全是英雄相关信息
对应XML文件:
Assets/Resources/Config/HeroCfg.xml
部分如下:
<info un32ID="Nvyao_5"> <szNOStr>10001</szNOStr> <HeroKind>2</HeroKind> <eMagicCate>2</eMagicCate> <XuetiaoHeight>6</XuetiaoHeight> <eAttackWay>2</eAttackWay> <n32AttackDist>1050</n32AttackDist> <n32BaseExp>80</n32BaseExp> <n32BasePhyAttPower>47</n32BasePhyAttPower> <n32BaseMagAttPower>0</n32BaseMagAttPower> <n32BasePhyDef>14</n32BasePhyDef> <n32BaseMagDef>30</n32BaseMagDef> <n32BaseMoveSpeed>680</n32BaseMoveSpeed> <n32BaseMoveSpeedScaling>1000</n32BaseMoveSpeedScaling> <n32BaseAttackSpeed>1000</n32BaseAttackSpeed> <n32BaseMaxHP>480</n32BaseMaxHP> <n32BaseMaxMP>260</n32BaseMaxMP> <n32BaseHPRecover>1000</n32BaseHPRecover> <n32BaseMPRecover>1300</n32BaseMPRecover> <n32BaseReliveTime>3000</n32BaseReliveTime> <n32ExpGrowth>50</n32ExpGrowth> <n32PhyAttGrowth>2</n32PhyAttGrowth> <n32MagAttGrowth>0</n32MagAttGrowth> <n32PhyDefGrowth>4</n32PhyDefGrowth> <n32MagDefGrowth>0</n32MagDefGrowth> <n32MoveSpeedGrowth>0</n32MoveSpeedGrowth> <n32AttackSpeedGrowth>10</n32AttackSpeedGrowth> <n32MaxHPGrowth>102</n32MaxHPGrowth> <n32MaxMPGrowth>28</n32MaxMPGrowth> <n32HPRecoverGrowth>150</n32HPRecoverGrowth> <n32MPRecoverGrowth>120</n32MPRecoverGrowth> <n32ReliveGrowth>3000</n32ReliveGrowth> <n32CPRecover>4</n32CPRecover> <n32CollideRadious>50</n32CollideRadious> <EmitPos>0,1500,0</EmitPos> <HitPos>0,1500,0</HitPos> <n32LockRadious>1</n32LockRadious> <n32RandomAttack>attack,attack2,attack3</n32RandomAttack> <un32WalkSound>0</un32WalkSound> <un32DeathSould>Nvyao5_Dead</un32DeathSould> <un32Script1>Nvyao_5_line_01,Nvyao_5_line_02</un32Script1> <n32Script1Rate>90050,90050</n32Script1Rate> <un32SkillType1>1200101</un32SkillType1> <un32SkillType2>1200201</un32SkillType2> <un32SkillType3>1300101</un32SkillType3> <un32SkillType4>1300201</un32SkillType4> <un32SkillType5>1100101</un32SkillType5> <un32SkillType6>1100001</un32SkillType6> <un32SkillTypeP>11000101</un32SkillTypeP> <un32PreItem>30032,30001,30003</un32PreItem> <un32MidItem>30085,30007,30031</un32MidItem> <un32ProItem>30088,30007,30031,30106,30035,30006</un32ProItem> </info>
ReadHeroConfig.cs
using System;using UnityEngine;using System.Xml;using System.Collections.Generic;//英雄相关//对应配置文件:Assets/Resources/Config/HeroCfg.xmlpublic class ReadHeroConfig{ XmlDocument xmlDoc = null; //构造函数 public ReadHeroConfig(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 (); xmlDoc.LoadXml (xmlfile.text); XmlNodeList infoNodeList = xmlDoc.SelectSingleNode ("herocfg").ChildNodes; for (int i = 0; i < infoNodeList.Count; i++) { if ((infoNodeList[i] as XmlElement).GetAttributeNode("un32ID") == null) { continue; } string typeName = (infoNodeList [i] as XmlElement).GetAttributeNode ("un32ID").InnerText; HeroConfigInfo heroSelectInfo = new HeroConfigInfo (); heroSelectInfo.HeroName = Convert.ToString (typeName); foreach (XmlElement xEle in infoNodeList[i].ChildNodes) { switch (xEle.Name) { case "szNOStr": heroSelectInfo.HeroNum = Convert.ToInt32 (xEle.InnerText); break; case "eMagicCate": heroSelectInfo.HeroMgicCate = Convert.ToInt32 (xEle.InnerText); break; case "XuetiaoHeight": heroSelectInfo.HeroXueTiaoHeight = Convert.ToInt32 (xEle.InnerText); break; case "n32AttackDist": heroSelectInfo.HeroBaseExp = Convert.ToSingle (xEle.InnerText); break; case "n32BaseExp": heroSelectInfo.HeroBaseExp = Convert.ToSingle (xEle.InnerText); break; case "n32BasePhyAttPower": heroSelectInfo.HeroPhyAtt = Convert.ToSingle (xEle.InnerText); break; case "n32BaseMagAttPower": heroSelectInfo.HeroMagAtt = Convert.ToSingle (xEle.InnerText); break; case "n32BasePhyDef": heroSelectInfo.HeroPhyDef = Convert.ToSingle (xEle.InnerText); break; case "n32BaseMagDef": heroSelectInfo.HeroMagDef = Convert.ToSingle (xEle.InnerText); break; case "n32BaseMoveSpeed": heroSelectInfo.HeroMoveSpeed = Convert.ToSingle (xEle.InnerText); break; case "n32BaseMoveSpeedScaling": heroSelectInfo.n32BaseMoveSpeedScaling = Convert.ToSingle (xEle.InnerText); break; case "n32BaseAttackCD": heroSelectInfo.HeroBaseAtkCd = Convert.ToSingle (xEle.InnerText); break; case "n32BaseMaxHp": heroSelectInfo.HeroMaxHp = Convert.ToSingle (xEle.InnerText); break; case "n32BaseMxpMp": heroSelectInfo.HeroMaxMp = Convert.ToSingle (xEle.InnerText); break; case "n32BaseHpRecover": heroSelectInfo.HeroHpRecover = Convert.ToSingle (xEle.InnerText); break; case "n32BaseMpRecover": heroSelectInfo.HeroMpRecover = Convert.ToSingle (xEle.InnerText); break; case "n32BaseReliveTime": heroSelectInfo.HeroRelieveTime = Convert.ToSingle (xEle.InnerText); break; case "n32ExpGrowth": heroSelectInfo.HeroExpGrowth = Convert.ToSingle (xEle.InnerText); break; case "n32PhyAttGrowth": heroSelectInfo.HeroPhyAttGrowth = Convert.ToSingle (xEle.InnerText); break; case "n32MagAttGrowth": heroSelectInfo.HeroMagAttGrowth = Convert.ToSingle (xEle.InnerText); break; case "n32PhyDefGrowth": heroSelectInfo.HeroPhyDefGrowth = Convert.ToSingle (xEle.InnerText); break; case "n32MagDefGrowth": heroSelectInfo.HeroMagDefGrowth = Convert.ToSingle (xEle.InnerText); break; case "n32AttackCDGrowth": heroSelectInfo.HeroAtkCdGrowth = Convert.ToSingle (xEle.InnerText); break; case "n32MaxHPGrowth": heroSelectInfo.HeroMaxHpGrowth = Convert.ToSingle (xEle.InnerText); break; case "n32MaxMPGrowth": heroSelectInfo.HeroMaxHpGrowth = Convert.ToSingle (xEle.InnerText); break; case "n32HPRecoverGrowth": heroSelectInfo.HeroHpRecoverGrowth = Convert.ToSingle (xEle.InnerText); break; case "n32MPRecoverGrowth": heroSelectInfo.HeroMpRecoverGrowth = Convert.ToSingle (xEle.InnerText); break; case "n32ReliveGrowth": heroSelectInfo.HeroReliveGrowth = Convert.ToSingle (xEle.InnerText); break; case "n32CPRecover": heroSelectInfo.HeroCpRecover = Convert.ToSingle (xEle.InnerText); break; case "n32CollideRadious": heroSelectInfo.HeroCollideRadious = Convert.ToSingle (xEle.InnerText); break; case "un32DeathSould": heroSelectInfo.HeroDeathsould = Convert.ToString (xEle.InnerText); break; case "un32WalkSound": heroSelectInfo.un32WalkSound = xEle.InnerText; break; case "un32Script1": heroSelectInfo.HeroScript1 = Convert.ToSingle (xEle.InnerText); break; case "un32ScriptRate": heroSelectInfo.HeroScript1Rate = Convert.ToSingle(xEle.InnerText); break; case "un32SkillType1": heroSelectInfo.HeroSkillType1 = Convert.ToInt32 (xEle.InnerText); break; case "un32SkillType2": heroSelectInfo.HeroSkillType2 = Convert.ToInt32 (xEle.InnerText); break; case "un32SkillType3": heroSelectInfo.HeroSkillType3 = Convert.ToInt32 (xEle.InnerText); break; case "un32SkillType4": heroSelectInfo.HeroSkillType4 = Convert.ToInt32 (xEle.InnerText); break; case "un32SkillType5": heroSelectInfo.HeroSkillType5 = Convert.ToInt32 (xEle.InnerText); break; case "un32SkillType6": heroSelectInfo.HeroSkillType6 = Convert.ToInt32 (xEle.InnerText); break; case "n32LockRadious": heroSelectInfo.n32LockRadious = Convert.ToSingle (xEle.InnerText); break; case "n32RandomAttack": heroSelectInfo.n32RandomAttack = GameDefine.GameMethod.ResolveToStrList (xEle.InnerText); break; case "un32PreItem": { string str = Convert.ToString (xEle.InnerText); if (str.CompareTo ("0") != 0) { heroSelectInfo.HeroPreEquip = GameMethod.ResolveToIntList (str, ','); } } break; case "un32MidItem": { string str = Convert.ToString (xEle.InnerText); if (str.CompareTo ("0") != 0) { heroSelectInfo.HeroMidEquip = GameMethod.ResolveToIntList (str, ','); } } break; case "un32ProItem": { string str = Convert.ToString (xEle.InnerText); if (str.CompareTo ("0") != 0) { heroSelectInfo.HeroLatEquip = GameMethod.ResolveToIntList (str, ','); } } break; case "HeroKind": { string str = Convert.ToString (xEle.InnerText); List<int> list = GameMethod.ResolveToIntList (str, ','); for (int j = 0; j < list.Count; j++) { heroSelectInfo.heroKind.Add ((HeroType)list.ElementAt (j)); } } break; case "un32SkillTypeP": heroSelectInfo.HeroSkillTypeP = Convert.ToInt32 (xEle.InnerText); break; } } ConfigReader.heroXmlInfoDict.Add (heroSelectInfo.HeroNum, heroSelectInfo); } }}/*XML格式:<info un32ID="Jinglingnan_6"> <szNOStr>19999</szNOStr> <HeroKind>1</HeroKind> <eMagicCate>2</eMagicCate> <XuetiaoHeight>6</XuetiaoHeight> <eAttackWay>1</eAttackWay> <n32AttackDist>400</n32AttackDist> <n32BaseExp>10</n32BaseExp> <n32BasePhyAttPower>220</n32BasePhyAttPower> <n32BaseMagAttPower>0</n32BaseMagAttPower> <n32BasePhyDef>120</n32BasePhyDef> <n32BaseMagDef>120</n32BaseMagDef> <n32BaseMoveSpeed>720</n32BaseMoveSpeed> <n32BaseMoveSpeedScaling>1000</n32BaseMoveSpeedScaling> <n32BaseAttackSpeed>1000</n32BaseAttackSpeed> <n32BaseMaxHP>1080</n32BaseMaxHP> <n32BaseMaxMP>560</n32BaseMaxMP> <n32BaseHPRecover>10000</n32BaseHPRecover> <n32BaseMPRecover>1200</n32BaseMPRecover> <n32BaseReliveTime>3000</n32BaseReliveTime> <n32ExpGrowth>10</n32ExpGrowth> <n32PhyAttGrowth>10</n32PhyAttGrowth> <n32MagAttGrowth>0</n32MagAttGrowth> <n32PhyDefGrowth>4</n32PhyDefGrowth> <n32MagDefGrowth>0</n32MagDefGrowth> <n32MoveSpeedGrowth>0</n32MoveSpeedGrowth> <n32AttackSpeedGrowth>20</n32AttackSpeedGrowth> <n32MaxHPGrowth>100</n32MaxHPGrowth> <n32MaxMPGrowth>30</n32MaxMPGrowth> <n32HPRecoverGrowth>10000</n32HPRecoverGrowth> <n32MPRecoverGrowth>200</n32MPRecoverGrowth> <n32ReliveGrowth>500</n32ReliveGrowth> <n32CPRecover>4</n32CPRecover> <n32CollideRadious>50</n32CollideRadious> <EmitPos>0,1300,0</EmitPos> <HitPos>0,1300,0</HitPos> <n32LockRadious>1</n32LockRadious> <n32RandomAttack>attack,attack2,attack3</n32RandomAttack> <un32WalkSound>0</un32WalkSound> <un32DeathSould>Jinglingnan5_Dead</un32DeathSould> <un32Script1>Jinglingnan_5_line_01,Jinglingnan_5_line_02</un32Script1> <n32Script1Rate>90050,90050</n32Script1Rate> <un32SkillType1>1200301</un32SkillType1> <un32SkillType2>1200401</un32SkillType2> <un32SkillType3>1300301</un32SkillType3> <un32SkillType4>1300401</un32SkillType4> <un32SkillType5>1100201</un32SkillType5> <un32SkillType6>1100001</un32SkillType6> <un32SkillTypeP>11000201</un32SkillTypeP> <un32PreItem>0</un32PreItem> <un32MidItem>0</un32MidItem> <un32ProItem>0</un32ProItem> </info>*/public class HeroConfigInfo: System.Object{ #region 道具信息 public string HeroName; public int HeroNum; public int HeroMgicCate; public float HeroXueTiaoHeight; public float HeroAtkDis; public float HeroBaseExp; public float HeroPhyAtt; public float HeroMagAtt; public float HeroPhyDef; public float HeroMagDef; public float HeroMoveSpeed; public float n32BaseMoveSpeedScaling; public float HeroBaseAtkCd; public float HeroMaxHp; public float HeroMaxMp; public float HeroHpRecover; public float HeroMpRecover; public float HeroRelieveTime; public float HeroExpGrowth; public float HeroPhyAttGrowth; public float HeroMagAttGrowth; public float HeroPhyDefGrowth; public float HeroMagDefGrowth; public float HeroAtkCdGrowth; public float HeroMaxHpGrowth; public float HeroMaxMpGrowth; public float HeroHpRecoverGrowth; public float HeroMpRecoverGrowth; public float HeroReliveGrowth; public float HeroCpRecover; public float HeroCollideRadious; public float n32LockRadious; public string un32WalkSound; public string HeroDeathsould; public string HeroScript1; public string HeroScript1Rate; public int HeroSkillType1; public int HeroSkillType2; public int HeroSkillType3; public int HeroSkillType4; public int HeroSkillType5; public int HeroSkillType6; public int HeroSkillTypeP; public List<string> n32RandomAttack; public List<int> HeroPreEquip = new List<int> (); public List<int> HeroMidEquip = new List<int> (); public List<int> HeroLatEquip = new List<int> (); public List<HeroType> heroKind = new List<HeroType> (); #endregion}
阅读全文
0 0
- ConfigReader(二十八)—— ReadHeroConfig
- ConfigReader(十八)—— ReadGuideObjShowTaskConfig
- ConfigReader(二)—— MapLoadConfig
- ConfigReader(二十)—— ReadGuidePathTaskConfig
- ConfigReader(二十一)—— ReadGuidePopTipTaskConfig
- ConfigReader(二十二)—— ReadGuideRewardTaskConfig
- ConfigReader(二十三)—— ReadGuideTaskConfig
- ConfigReader(二十四)—— ReadGuideTimeCtrlTaskConfig
- ConfigReader(二十五)—— ReadGuideTipTaskConfig
- ConfigReader(二十六)—— ReadGuideVoiceTaskConfig
- ConfigReader(二十七)—— ReadHeroBuyConfig
- ConfigReader(二十九)—— ReadHeroHeadConfig
- ConfigReader(六十)—— ConfigReader
- Commom(十)—— ConfigReader
- ConfigReader(一)—— MapConfig
- ConfigReader(三)—— ReadAdvancedGuideConfig
- ConfigReader(四)—— ReadBuffConfig
- ConfigReader(五)—— ReadBuySkinConfig
- c3p0,dbcp与druid 三大连接池的区别
- Java练习题12 继承
- 第四章 函数
- 时间序列数据存储
- 创建爬虫项目
- ConfigReader(二十八)—— ReadHeroConfig
- Linux进程剖析
- C++基础面试题总结
- HDU 3342 Legal or Not
- 使用SQL Server链接服务器访问MySQL的一些坑
- 树莓派远程桌面配置
- hdu 6047 Maximum Sequence (贪心)
- JavaScript代码编写分享到边侧栏
- Subarray Sum