Exemple #1
0
    public static void LoadUpgrades()
    {
        string path = Application.persistentDataPath + "/Upgrades.inf";

        if (File.Exists(path))
        {
            BinaryFormatter            formatter            = new BinaryFormatter();
            FileStream                 stream               = new FileStream(path, FileMode.Open);
            List <UpgradeSerializable> upgradeSerializables = formatter.Deserialize(stream) as List <UpgradeSerializable>;
            stream.Close();
            //   List<Upgrade> upgrades = new List<Upgrade>();
            foreach (UpgradeSerializable item in upgradeSerializables)
            {
                Upgrade upgrade = GameObject.FindGameObjectWithTag("UpgradeSystem").GetComponent <UpgradeSystem>().FindUpgradeByName(item.name);
                if (upgrade != null)
                {
                    if (item.bought)
                    {
                        upgrade.bought = true;
                    }
                    else
                    {
                        upgrade.bought = false;
                    }
                    if (item.activated)
                    {
                        upgrade.Equip();
                    }
                    else
                    {
                        upgrade.Unequip();
                    }
                }
            }
        }
        else
        {
            Debug.LogWarning("Save file not found in " + path);
        }
    }
    public void desctiptionSetAndButton(Upgrade up)
    {
        descButton.onClick.RemoveAllListeners();
        descButton.onClick.AddListener(() => empty());

        description.SetText(up.description);
        descButton.enabled = true;
        if (!up.bought)
        {
            if (up is UpPlayer)
            {
                buttonText.SetText("Buy");
                descButton.onClick.AddListener(() => up.Buy());
            }
        }
        else
        {
            if (!up.activated)
            {
                if (up is UpPlayer)
                {
                    buttonText.SetText("Activate");
                    descButton.onClick.AddListener(() => up.Equip());
                }
            }
            else
            {
                if (up is UpPlayer)
                {
                    buttonText.SetText("Deactivate");
                    descButton.onClick.AddListener(() => up.Unequip());
                }
            }
        }
        descButton.onClick.AddListener(() => OnEnable());
        descButton.onClick.AddListener(() => SaveSystem.SaveUpgrades());
        // descButton.onClick.AddListener(() => SaveSystem.LoadUpgrades());
    }