private void RefreshUI() { abilityList.Clear(); foreach (var ab in AbilitySystem.GetAllAbilities()) { abilityList.Add(ab); } if (abilitySlotList != null) { for (var i = 0; i < abilitySlotList.Count; i++) { if (AbilitySystem.isAbleAbility(abilityList[i].id)) { Ability userAb = AbilitySystem.GetUserAbility(abilityList[i].id); abilitySlotList[i].transform.GetChild(0).GetComponent <Image>().sprite = Resources.Load <Sprite>(userAb.image); abilitySlotList[i].GetComponent <Button>().onClick.RemoveAllListeners(); int abIndex = i; userAb = AbilitySystem.GetUserAbility(abilityList[abIndex].id); abilitySlotList[i].transform.GetComponentInChildren <Text>().text = userAb.level.ToString(); abilitySlotList[i].transform.GetComponentInChildren <Text>().enabled = true; abilitySlotList[i].GetComponent <Button>().onClick.RemoveAllListeners(); abilitySlotList[i].GetComponent <Button>().onClick.AddListener(delegate { OnAbilityClick(abilityList[abIndex]); }); } } } if (abilityTotalStatText != null) { AbilitySystem.SetAbilityStats(); abilityTotalStatText.text = AbilitySystem.GetAllAbilityStatToString(); } if (scrollCountText != null) { scrollCountText.text = Common.GetThousandCommaText(ItemSystem.GetUserScrollCount()); } }
private void Start() { if (abilitySlotPrefab != null) { foreach (var ab in AbilitySystem.GetAllAbilities()) { GameObject abObj = Instantiate(abilitySlotPrefab, PanelAbilitys[ab.id % 3].transform); if (AbilitySystem.isAbleAbility(ab.id)) { Ability userAbility = AbilitySystem.GetUserAbility(ab.id); abObj.transform.GetChild(0).GetComponent <Image>().sprite = Resources.Load <Sprite>(userAbility.image); abObj.transform.GetComponentInChildren <Text>().text = userAbility.level.ToString(); abObj.transform.GetComponentInChildren <Text>().enabled = true; abObj.GetComponent <Button>().onClick.RemoveAllListeners(); abObj.GetComponent <Button>().onClick.AddListener(delegate { OnAbilityClick(userAbility); }); abilityList.Add(userAbility); } else { abObj.transform.GetChild(0).GetComponent <Image>().sprite = Resources.Load <Sprite>("UI/ui_ability_lock"); abObj.transform.GetComponentInChildren <Text>().enabled = false; abilityList.Add(ab); } abilitySlotList.Add(abObj); } if (abilityTotalStatText != null) { AbilitySystem.SetAbilityStats(); abilityTotalStatText.text = AbilitySystem.GetAllAbilityStatToString(); } if (scrollCountText != null) { scrollCountText.text = Common.GetThousandCommaText(ItemSystem.GetUserScrollCount()); } } }
public static void SaveAbility(int id) { string path = Application.persistentDataPath + "/Xml/Ability.Xml"; XmlDocument xmlDoc = new XmlDocument(); if (System.IO.File.Exists(path)) { xmlDoc.LoadXml(System.IO.File.ReadAllText(path)); } //복호화//// XmlElement elmRoot = xmlDoc.DocumentElement; var decrpytData = DataSecurityManager.DecryptData(elmRoot.InnerText); elmRoot.InnerXml = decrpytData; ////////// XmlNodeList nodes = xmlDoc.SelectNodes("AbilityCollection/Abilitys/Ability"); foreach (XmlNode node in nodes) { if (node.Attributes.GetNamedItem("id").Value == id.ToString() || node.Attributes.GetNamedItem("id").Value.Equals(id.ToString())) { Ability ability = AbilitySystem.GetUserAbility(id); if (ability != null) { node.SelectSingleNode("Level").InnerText = ability.level.ToString(); } break; } } // 암호화///// var encrpytData = DataSecurityManager.EncryptData(elmRoot.InnerXml); elmRoot.InnerText = encrpytData; //////////// xmlDoc.Save(path); Debugging.Log(id + " 영웅의 단일 xml 저장 완료"); }