public MonsterCfd GetMonsterCfg(int id) { MonsterCfd monsterData = null; if (dictMonsterCfgData.TryGetValue(id, out monsterData)) { return(monsterData); } return(null); }
private void InitMonsterCfgData(string xmlPath) { TextAsset xmlText = Resources.Load <TextAsset>(xmlPath); if (!xmlText) { CommonTools.Log("xml file: " + PathDefine.cPath_RandomNameCfg + "not exits!", LogType.LogType_Error); return; } //开始解析xml文件 XmlDocument doc = new XmlDocument(); doc.LoadXml(xmlText.text); XmlNodeList nodeList = doc.SelectSingleNode("root").ChildNodes; for (int i = 0; i < nodeList.Count; i++) { XmlElement element = nodeList[i] as XmlElement; if (element.GetAttributeNode("ID") == null) { continue; } int id = Convert.ToInt32(element.GetAttributeNode("ID").InnerText); MonsterCfd monsterData = new MonsterCfd { ID = id, prop = new BattleProps() }; #region 遍历解析 foreach (XmlElement elem in nodeList[i].ChildNodes) { switch (elem.Name) { case "mName": monsterData.name = elem.InnerText; break; case "resPath": monsterData.resPath = elem.InnerText; break; case "skillID": monsterData.skillID = int.Parse(elem.InnerText); break; case "atkDis": monsterData.atkDistance = float.Parse(elem.InnerText); break; case "isStop": monsterData.bStop = elem.InnerText.Equals("1"); break; case "mType": if (elem.InnerText.Equals("1")) { monsterData.monsterType = Constants.MonsterType.Normal; } else if (elem.InnerText.Equals("2")) { monsterData.monsterType = Constants.MonsterType.Boss; } break; case "hp": monsterData.prop.hp = int.Parse(elem.InnerText); break; case "ad": monsterData.prop.ad = int.Parse(elem.InnerText); break; case "ap": monsterData.prop.ap = int.Parse(elem.InnerText); break; case "addef": monsterData.prop.addef = int.Parse(elem.InnerText); break; case "apdef": monsterData.prop.apdef = int.Parse(elem.InnerText); break; case "dodge": monsterData.prop.dodge = int.Parse(elem.InnerText); break; case "pierce": monsterData.prop.pierce = int.Parse(elem.InnerText); break; case "critical": monsterData.prop.critical = int.Parse(elem.InnerText); break; } } #endregion dictMonsterCfgData.Add(id, monsterData); } }