目录为:Assets/Scripts/ConfigReader/目录下
ReadSelectHeroConfig.cs
这个文件储存 英雄选择时各个英雄的信息
对应的配置文件:
Assets/Resources/Config/HeroChooseCfg.xml
部分如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<herochoose xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<info number="19999">
<name_ID>Jinglingnan_6</name_ID>
<name_ch>破灭之剑</name_ch>
<pic_thumb>16</pic_thumb>
<hero_des>[00b6fc]弧月斩:[-]以自身为圆心挥舞长剑,对范围内的敌方单位造成伤害并眩晕</hero_des>
<hero_des2>[00b6fc]裂地斩:[-]向前方举剑劈斩,打击直线上的敌方单位,造成伤害和减速</hero_des2>
<hero_desPassitive>[00b6fc]会心一击:[-]提升自身普通攻击的暴击几率</hero_desPassitive>
<buy_des>[da841f]米娜!拥有你,我就拥有了一切!——柯尔德恩[-]
柯尔德恩,精灵公主米娜的一名护卫,也是公主青梅竹马的好朋友,两人其实早已互生爱慕之心。
在米娜前往圣光学院学习时,柯尔也同样守护在她身旁,并与学院的长老魔导师智子成为了朋友,三人在圣光学院中度过了非常快乐的一段时光。
当智子前往研究那块神秘的水晶之后不久,一切都不一样了,柯尔接到命令后便立即将公主护送回了生命之岛,之后便和精灵大军一起前往联盟驻地开始了漫长的战争。直到战争结束,柯尔鼓起勇气向精灵王提亲,却遭到拒绝,米娜公主知道柯尔提亲遭拒后,万分难过,最后要求柯尔带着自己逃出生命之岛,面对心爱的女人,柯尔终于下定了决心。
逃入混乱之源后,柯尔遇见了许多联盟中的战友知晓了他们的任务,与米娜商量后决定留在混乱之源,为大陆贡献自己的一份力量。
</buy_des>
<bac_des>[0078ff]破灭之剑·柯尔德恩[-]
[da841f]近战/战士[-]
[2dda1f]物攻[-] [b68500]★★★★[-]
[2dda1f]魔攻[-] [b68500]★[-]
[2dda1f]防御[-] [b68500]★★[-]
[2dda1f]射程[-] [b68500]★[-]
作为一名皇家护卫,柯尔德恩拥有着强大的实力,锋利的巨剑带着可怕的杀伤力,并且还有附带的眩晕、减速,让敌人几乎不敢与他近身作战。
</bac_des>
<pic_icon>16</pic_icon>
<sound_select>Jinglingnan_5_line_01</sound_select>
<skill_icon1>03</skill_icon1>
<skill_icon2>04</skill_icon2>
<skill_iconPassitive>69</skill_iconPassitive>
<newsguidehero>1</newsguidehero>
</info>
<info number="10001">
<name_ID>Nvyao_5</name_ID>
<name_ch>飞樱漫舞</name_ch>
<pic_thumb>32</pic_thumb>
<hero_des>[00b6fc]樱花之风:[-]智子释放出一道夹杂着樱花的劲风,被吹拂过的敌人将陷入沉默中</hero_des>
<hero_des2>[00b6fc]飞樱漫舞:[-]智子在漫天的樱花中载歌载舞,让附近的敌人沉浸其中无法攻击</hero_des2>
<hero_desPassitive>[00b6fc]樱花坠:[-]每4次普通攻击会触发一次樱花坠效果,缠绕住敌方单位</hero_desPassitive>
<buy_des>[da841f]只有即将死亡的人,才能看见我的舞姿!你想看吗? ——智子[-]
智子,樱花家族中的天才人物,在她18岁时便以自己纯熟精湛的魔法操控能力,强大的元素亲和力,晋升为了大陆最年轻的魔导师,一举震惊了整个圣克里德帝国。
此后一直担任帝国中最大的一所学院——圣光学院的长老。在学院中研读了许多古老的魔法书籍,学识相当渊博。同时,精灵公主米娜也在学院中学习,两人虽然一个是学生,一个是长老,但却丝毫不影响她们成为朋友。直到智子被邀请参与研究水晶之后,两人便没有再见过面了,再后来,整个大陆逐渐陷入了战火之中,米娜也被护送回了生命之岛……两人之后再次见面是在混乱之源,然而却已经那么陌生,陌生到已经是彼此的敌人。</buy_des>
<bac_des>[0078ff]飞樱漫舞·智子[-]
[da841f]远程/魔法[-]
[2dda1f]物攻[-] [b68500]★[-]
[2dda1f]魔攻[-] [b68500]★★★★[-]
[2dda1f]防御[-] [b68500]★[-]
[2dda1f]射程[-] [b68500]★★★★[-]
远程魔法英雄,拥有相当不俗的输出能力,技能中附带的沉默和缴械更是让敌人毫无还手之力,是敌人噩梦般的存在!</bac_des>
<pic_icon>32</pic_icon>
<sound_select>Nvyao_5_line_01</sound_select>
<skill_icon1>02</skill_icon1>
<skill_icon2>01</skill_icon2>
<skill_iconPassitive>68</skill_iconPassitive>
</info>
ReadSelectHeroConfig.cs
using System;
using UnityEngine;
using System.Xml;
using System.Collections.Generic;
//看来这个文件储存 英雄选择时各个英雄的信息
//对应的配置文件:Assets/Resources/Config/HeroChooseCfg.xml
//这个对应的配置文件也很大
public class ReadSelectHeroConfig
{
XmlDocument xmlDoc = null;
//构造函数
public ReadSelectHeroConfig(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 ("herochoose").ChildNodes;
for (int i = 0; i < infoNodeList.Count; i++)
{
if ((infoNodeList[i] as XmlElement).GetAttributeNode("number") == null)
{
continue;
}
string typeName = (infoNodeList [i] as XmlElement).GetAttributeNode ("number").InnerText;
HeroSelectConfigInfo heroSelectInfo = new HeroSelectConfigInfo ();
heroSelectInfo.HeroSelectNum = Convert.ToInt32 (typeName);
foreach (XmlElement xEle in infoNodeList[i].ChildNodes)
{
switch (xEle.Name)
{
case "name_ID":
heroSelectInfo.HeroSelectName = Convert.ToString (xEle.InnerText);
break;
case "name_ch":
heroSelectInfo.HeroSelectNameCh = Convert.ToString (xEle.InnerText);
break;
case "pic_thumb":
heroSelectInfo.HeroSelectThumb = Convert.ToString (xEle.InnerText);
break;
case "un8costtype":
heroSelectInfo.HeroSelectCostType = Convert.ToInt32 (xEle.InnerText);
break;
case "n32cost":
heroSelectInfo.HeroSelectCost = Convert.ToSingle (xEle.InnerText);
break;
case "hero_des":
heroSelectInfo.HeroSelectDes = Convert.ToString (xEle.InnerText);
break;
case "hero_des2":
heroSelectInfo.HeroSelectDes2 = Convert.ToString (xEle.InnerText);
break;
case "buy_des":
heroSelectInfo.HeroSelectDesSkill = Convert.ToString (xEle.InnerText);
break;
case "pic_icon":
heroSelectInfo.HeroSelectHead = Convert.ToInt32 (xEle.InnerText);
break;
case "sound_select":
heroSelectInfo.HeroSelectSound = Convert.ToString (xEle.InnerText);
break;
case "skill_icon1":
heroSelectInfo.HeroSelectSkill1 = Convert.ToString (xEle.InnerText);
break;
case "skill_icon2":
heroSelectInfo.HeroSelectSkill2 = Convert.ToString (xEle.InnerText);
break;
case "newsguidehero":
heroSelectInfo.IsGuideHero = Convert.ToInt32 (xEle.InnerText);
break;
case "hero_desPassitive":
heroSelectInfo.HeroPassDes = Convert.ToString (xEle.InnerText);
break;
case "skill_iconPassitive":
heroSelectInfo.HeroSkillPass = Convert.ToString (xEle.InnerText);
case "bac_des":
heroSelectInfo.HeroSelectBuyDes = Convert.ToString (xEle.InnerText);
break;
}
}
ConfigReader.heroSelectXmlInfoDict.Add (heroSelectInfo.HeroSelectNum, heroSelectInfo);
}
}
}
/*
XML格式:
<info number="10015">
<name_ID>Chengjiezhe_5</name_ID>
<name_ch>惩戒者</name_ch>
<pic_thumb>39</pic_thumb>
<hero_des>[00b6fc]魔法能量:[-]释放能量球,对目标造成伤害,并燃烧一定魔法值</hero_des>
<hero_des2>[00b6fc]惩戒:[-]使目标受到持续伤害并缴械,若此时目标施放技能,缴械效果将被沉默取代</hero_des2>
<hero_desPassitive>[00b6fc]魔法护盾:[-]提升自身的魔法防御力</hero_desPassitive>
<buy_des>[da841f]无论是谁,犯了错都会付出代价,哪怕是神也不例外!——摩恩纳兹[-]
摩恩纳兹曾是神的宠物,在最初的“诸神的黄昏”那一战中,最后的神——奥斯也陨落了,而他的宠物摩恩纳兹却幸运的躲进了“卡多雷之谧”。
然而“卡多雷之谧”却碎裂了,碎裂的石头散落在了世界的各个地方,躲藏其中的摩恩纳兹随着“卡多雷之谧”的碎裂,力量也被分散在了各个碎片之中。
当摩恩纳兹在某个碎片中的力量苏醒时,他发现自己来到了一个陌生的大陆——帕拉索斯大陆,而那漫山遍野的恶魔和亡灵让他意识到,这里的生物犯了致命的错误,他们使用了错误的方法来激发“卡多雷之谧”的力量,那些无知的生物们也将为自己愚蠢的行为而付出代价。
不过这些都不重要了,重要的是摩恩纳兹已经没有了神的束缚!</buy_des>
<bac_des>[0078ff]惩戒者·摩恩纳兹[-]
[da841f]远程/魔法[-]
[2dda1f]物攻[-] [b68500]★[-]
[2dda1f]魔攻[-] [b68500]★★★★[-]
[2dda1f]防御[-] [b68500]★★★[-]
[2dda1f]射程[-] [b68500]★[-]
脱离束缚的摩恩纳兹,只要出现在战场就会让敌人为之忌惮,敌人在摩恩纳兹的面前已经无力抵抗,除了逃跑他们别无出路。</bac_des>
<pic_icon>39</pic_icon>
<sound_select>Emo_line_01</sound_select>
<skill_icon1>31</skill_icon1>
<skill_icon2>30</skill_icon2>
<skill_iconPassitive>81</skill_iconPassitive>
</info>
*/
public class HeroSelectConfigInfo: System.Object
{
#region 道具信息
public int HeroSelectNum;
public string HeroSelectName;
public string HeroSelectNameCh;
public string HeroSelectThumb;
public int HeroSelectCostType;
public float HeroSelectCost;
public string HeroSelectDes;
public string HeroSelectDes2;
public string HeroSelectBuyDes;
public int HeroSelectHead;
public string HeroSelectSound;
public string HeroSelectSkill1;
public string HeroSelectSkill2;
public int IsGuideHero;
public string HeroPassDes;
public string HeroSkillPath;
public string HeroSelectDesSkill;
#endregion
}