示例#1
0
    public void Buy()
    {
        // Button name
        string name = EventSystem.current.currentSelectedGameObject.name;

        // Items
        string path       = Application.dataPath + "/Data/ShopItems.json";
        string jsonString = File.ReadAllText(path);
        Items  it         = JsonUtility.FromJson <Items>(jsonString);

        // Coins
        string path2       = Application.dataPath + "/Data/Coins.json";
        string jsonString2 = File.ReadAllText(path2);

        CoinsController.Coins c = JsonUtility.FromJson <CoinsController.Coins>(jsonString2);

        // Buy item
        for (int i = 0; i < it.item_entry_list.Count; i++)
        {
            if (name == it.item_entry_list[i].name)
            {
                if (coins_serializable_value >= it.item_entry_list[i].price)
                {
                    // Update coins_serializable_value
                    int value = -it.item_entry_list[i].price;
                    CoinsController.CoinsEntry ce = new CoinsController.CoinsEntry {
                        value = value
                    };
                    c.coins_list.Add(ce);

                    string json = JsonUtility.ToJson(c);
                    File.WriteAllText(path2, json);

                    // Update interface
                    GetCoins();
                    coins.text = coins_serializable_value.ToString();

                    // Update button
                    EventSystem.current.currentSelectedGameObject.SetActive(false);

                    // Serialize item
                    BoughtItemsScript.AddEntry(name);

                    string jsonString3 = File.ReadAllText(Application.dataPath + "/Data/BoughtItems.json");


                    //Debug.Log("Updated B: " + jsonString3);
                }
                else
                {
                    //Debug.Log("NO money");
                    EventSystem.current.currentSelectedGameObject.GetComponentInChildren <TextMeshProUGUI>().text = "No money";

                    Invoke("changeButton", 1);
                }
            }
        }
    }
示例#2
0
    private void GetCoins()
    {
        string path       = Application.dataPath + "/Data/Coins.json";
        string jsonString = File.ReadAllText(path);

        CoinsController.Coins c = JsonUtility.FromJson <CoinsController.Coins>(jsonString);
        int v = 0;

        for (int i = 0; i < c.coins_list.Count; i++)
        {
            v += c.coins_list[i].value;
        }

        coins_serializable_value = v;
    }