Exemple #1
0
    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());
        }
    }
Exemple #2
0
    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 저장 완료");
    }