public void AddJobEquip(JobEquipInfo info) { if (jobEquipDic.ContainsKey(info.ID)) { return; } jobEquipDic.Add(info.ID, info); }
private void LoadUnitXML(string sFileName) { if (JobInfoMng.Instance.set) { return; } //XML파일을 텍스트에셋으로 불러오기 TextAsset textAsset = (TextAsset)Resources.Load("XML/" + sFileName); //불러온 텍스트에셋을 XmlDocument 형식으로 불러오는 작업 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(textAsset.text); //인간 노드 리스트 불러오기 XmlNodeList JobNodes = xmlDoc.SelectNodes("UnitInfo/Job/Field"); foreach (XmlNode node in JobNodes) { //노드의 내용물 불러와서 아이템 정보에 저장 후 아이템 매니져에 추가하는 작업 byte id; //= byte.Parse(node.Attributes.GetNamedItem("id").Value); byte.TryParse(node.Attributes.GetNamedItem("id").InnerText, out id); string name = node.Attributes.GetNamedItem("name").InnerText; string face = node.Attributes.GetNamedItem("face").InnerText; float Size = float.Parse(node.Attributes.GetNamedItem("size").InnerText); float ColRadius = float.Parse(node.Attributes.GetNamedItem("colradius").InnerText); float ColHeight = float.Parse(node.Attributes.GetNamedItem("colheight").InnerText); float MoveSpeed = float.Parse(node.Attributes.GetNamedItem("movespeed").InnerText); float RotateSpeed = float.Parse(node.Attributes.GetNamedItem("rotatespeed").InnerText); float AtkSpeed = float.Parse(node.Attributes.GetNamedItem("atkspeed").InnerText); float ViewRange = float.Parse(node.Attributes.GetNamedItem("viewrange").InnerText); float AtkRange = float.Parse(node.Attributes.GetNamedItem("atkrange").InnerText); int Health = int.Parse(node.Attributes.GetNamedItem("health").InnerText); int AtkPower = int.Parse(node.Attributes.GetNamedItem("atkpower").InnerText); int DefValue = int.Parse(node.Attributes.GetNamedItem("defvalue").InnerText); //Debug.Log(id+","+ name + "," + face + "," + Size + "," + ColRadius + "," + ColHeight + "," + MoveSpeed + "," + RotateSpeed + "," + Health + "," + AtkPower + "," + AtkSpeed + "," + DefValue + "," + ViewRange + "," + AtkRange); JobInfo info = new JobInfo(id, name, face, Size, ColRadius, ColHeight, MoveSpeed, RotateSpeed, Health, AtkPower, AtkSpeed, DefValue, ViewRange, AtkRange); JobInfoMng.Instance.AddJob(info); } //직업장비 노드 리스트 불러오기 XmlNodeList JobEquipNodes = xmlDoc.SelectNodes("UnitInfo/JobEquip/Field"); foreach (XmlNode node in JobEquipNodes) { //노드의 내용물 불러와서 블록 정보에 저장 후 블록 매니져에 추가하는 작업 byte id = byte.Parse(node.Attributes.GetNamedItem("id").InnerText); string head = node.Attributes.GetNamedItem("head").InnerText; string rhand = node.Attributes.GetNamedItem("rhand").InnerText; string lhand = node.Attributes.GetNamedItem("lhand").InnerText; string chest = node.Attributes.GetNamedItem("chest").InnerText; string projectile = node.Attributes.GetNamedItem("projectile").InnerText; string atkreadyani = node.Attributes.GetNamedItem("atkreadyani").InnerText; string atkingani = node.Attributes.GetNamedItem("atkingani").InnerText; JobEquipInfo info = new JobEquipInfo(id, head, rhand, lhand, chest, projectile, atkreadyani, atkingani); JobEquipInfoMng.Instance.AddJobEquip(info); } }