ConfigReader(四十八)—— ReadSkillArea

来源:互联网 发布:晨枫网络是干嘛的 编辑:程序博客网 时间:2024/05/17 11:37

目录为:Assets/Scripts/ConfigReader/目录下
ReadSkillArea.cs

和技能范围有关

对应配置文件:Assets/Resources/Config/SkillCfg_area.xml
这个配置文件非常大
部分如下

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><SkillCfg_area xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">    <info un32ID="140001">        <szName>飞樱漫舞等级1</szName>        <n32UseMP>0</n32UseMP>        <n32UseHP>0</n32UseHP>        <n32UseCP>0</n32UseCP>        <bIsCoolDown>0</bIsCoolDown>        <n32TriggerRate>1000</n32TriggerRate>        <bIfAffectBuilding>0</bIfAffectBuilding>        <bIfAffectHero>1</bIfAffectHero>        <bIfAffectMonster>1</bIfAffectMonster>        <eTargetType>2</eTargetType>        <eAoeType>1</eAoeType>        <n32ReleaseDistance>0</n32ReleaseDistance>        <n32ReleaseTimeDelay>0</n32ReleaseTimeDelay>        <n32RangeInterval>0</n32RangeInterval>        <n32RangeTimes>1</n32RangeTimes>        <n32Range>1</n32Range>        <n32RangePar1>700</n32RangePar1>        <n32RangePar2>360</n32RangePar2>        <n32EffectObjNum>0</n32EffectObjNum>        <eLifeTime>4000</eLifeTime>        <attackEffect>0</attackEffect>        <EventID>121004:0;160103:0</EventID>    </info>    <info un32ID="140002">        <szName>飞樱漫舞等级2</szName>        <n32UseMP>0</n32UseMP>        <n32UseHP>0</n32UseHP>        <n32UseCP>0</n32UseCP>        <bIsCoolDown>0</bIsCoolDown>        <n32TriggerRate>1000</n32TriggerRate>        <bIfAffectBuilding>0</bIfAffectBuilding>        <bIfAffectHero>1</bIfAffectHero>        <bIfAffectMonster>1</bIfAffectMonster>        <eTargetType>2</eTargetType>        <eAoeType>1</eAoeType>        <n32ReleaseDistance>0</n32ReleaseDistance>        <n32ReleaseTimeDelay>0</n32ReleaseTimeDelay>        <n32RangeInterval>0</n32RangeInterval>        <n32RangeTimes>1</n32RangeTimes>        <n32Range>1</n32Range>        <n32RangePar1>700</n32RangePar1>        <n32RangePar2>360</n32RangePar2>        <n32EffectObjNum>0</n32EffectObjNum>        <eLifeTime>4000</eLifeTime>        <attackEffect>0</attackEffect>        <EventID>121005:0;160104:0</EventID>    </info>
using System;using UnityEngine;using System.Xml;using System.Collections.Generic;//和技能范围有关//对应配置文件:Assets/Resources/Config/SkillCfg_area.xml//这个配置文件非常大public class ReadSkillAreaConfig{    XmlDocument xmlDoc = null;    //构造函数    public ReadSkillAreaConfig(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 ("SkillCfg_area").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;            SkillAreaConfig skillInfo = new SkillAreaConfig ();            skillInfo.id = Convert.ToUInt32 (typeName);            foreach (XmlElement xEle in infoNodeList[i].ChildNodes)            {                switch (xEle.Name)                {                case "szName":                    skillInfo.name = Convert.ToString (xEle.InnerText);                    break;                case "eLifeTime":                    skillInfo.lifeTime = Convert.ToInt32 (xEle.InnerText);                    break;                case "attackEffect":                    skillInfo.effect = Convert.ToString (xEle.InnerText);                    break;                case "FlySound":                    skillInfo.sound = Convert.ToString (xEle.InnerText);                    break;                case "eAoeType":                    skillInfo.aoeType = Convert.ToInt32 (xEle.InnerText);                    break;                }            }            ConfigReader.skillAreaInfoDic.Add (skillInfo.id, skillInfo);        }    }}/*XML格式:<info un32ID="140105">        <szName>音波等级2</szName>        <n32UseMP>0</n32UseMP>        <n32UseHP>0</n32UseHP>        <n32UseCP>0</n32UseCP>        <bIsCoolDown>1</bIsCoolDown>        <n32TriggerRate>1000</n32TriggerRate>        <bIfAffectBuilding>0</bIfAffectBuilding>        <bIfAffectHero>1</bIfAffectHero>        <bIfAffectMonster>1</bIfAffectMonster>        <eTargetType>2</eTargetType>        <eAoeType>1</eAoeType>        <n32ReleaseDistance>0</n32ReleaseDistance>        <n32ReleaseTimeDelay>0</n32ReleaseTimeDelay>        <n32RangeInterval>0</n32RangeInterval>        <n32RangeTimes>1</n32RangeTimes>        <n32Range>2</n32Range>        <n32RangePar1>1000</n32RangePar1>        <n32RangePar2>250</n32RangePar2>        <n32EffectObjNum>0</n32EffectObjNum>        <eLifeTime>1000</eLifeTime>        <attackEffect>sonic_skill1</attackEffect>        <FlySound>Bianfu_Skill 1</FlySound>        <EventID>121206:0</EventID>    </info>*///这里只读了一部分public class SkillAreaConfig{    public uint id; //id    public int aoeType;    public string name; //名字    public string effect;   //特效    public string sound;    //声音    public float lifeTime;  //生命周期}
阅读全文
0 0
原创粉丝点击