public void AddEgg(string egg)
    {
        bool isNewEgg = true;

        for (int i = 0; i < inventory.eggs.Count; i++)
        {
            if (inventory.eggs[i].name == egg)
            {
                isNewEgg = false;
                EggInInventory eggToEdit = inventory.eggs[i];
                eggToEdit.amt    += 1;
                inventory.eggs[i] = eggToEdit;
                Debug.Log("Added");
                break;
            }
        }

        if (isNewEgg)
        {
            EggInInventory newEgg = new EggInInventory();
            newEgg.name = egg;
            newEgg.amt  = 1;
            inventory.eggs.Add(newEgg);
        }

        SaveInventory();
    }
 public void SetUpButton(EggInInventory newEgg)
 {
     IS                   = InventoryScript.Instance;
     thisEgg              = newEgg;
     childImage.sprite    = IS.FindEgg(thisEgg.name).sprite;
     childAmtCounter.text = "x" + thisEgg.amt;
     if (thisEgg.amt <= 0)
     {
         this.GetComponent <Button>().interactable = false;
     }
 }
    public void RemoveEgg(string eggName)
    {
        for (int i = 0; i < inventory.eggs.Count; i++)
        {
            EggInInventory eggToEdit = new EggInInventory();
            if (inventory.eggs[i].name == eggName)
            {
                eggToEdit = inventory.eggs[i];

                eggToEdit.amt -= 1;
                inventory.eggs.RemoveAt(i);
                inventory.eggs.Insert(i, eggToEdit);
                break;
            }
        }

        SaveInventory();
    }
    public void UpdateCraftingObjects(GameObject buttonPanel)
    {
        GameObject[] buttons = new GameObject[2];
        int          i       = 0;

        foreach (Transform item in buttonPanel.transform)
        {
            buttons[i] = item.gameObject;
            i++;
        }

        EggInInventory egg = inventory.eggs[0];

        buttons[0].GetComponent <InventoryEggButton>().SetUpButton(egg);

        SeedInInventory seed = inventory.seeds[0];

        buttons[1].GetComponent <InventorySeedButton>().SetUpButton(seed);
    }
    void LoadInventory()
    {
        //Debug.Log("LOADING INVENTORY");
        string filePath = Application.persistentDataPath + fileName;

        //string filePath = fileName;

        if (File.Exists(filePath))
        {
            string        dataAsJson    = File.ReadAllText(filePath);
            JsonInventory jsonInventory = JsonUtility.FromJson <JsonInventory>(dataAsJson);

            Inventory newInventory = new Inventory()
            {
                eggs    = new List <EggInInventory>(),
                seeds   = new List <SeedInInventory>(),
                islands = new List <IslandStorage>(),
                chests  = new List <ChestInInventory>()
            };

            newInventory.currency = jsonInventory.currencyAmt;
            currencyUI.GetComponent <Text>().text = newInventory.currency.ToString();

            for (int i = 0; i < jsonInventory.eggs.Length; i++)
            {
                EggInInventory newEgg = new EggInInventory()
                {
                    name = jsonInventory.eggs[i],
                    amt  = jsonInventory.eggAmts[i]
                };
                newInventory.eggs.Add(newEgg);
            }

            for (int i = 0; i < jsonInventory.seeds.Length; i++)
            {
                SeedInInventory newSeed = new SeedInInventory()
                {
                    name = jsonInventory.seeds[i],
                    amt  = jsonInventory.seedAmts[i]
                };
                newInventory.seeds.Add(newSeed);
            }

            for (int i = 0; i < jsonInventory.chests.Length; i++)
            {
                ChestInInventory newChest = new ChestInInventory()
                {
                    name = jsonInventory.chests[i],
                    amt  = jsonInventory.chestAmts[i]
                };
                newInventory.chests.Add(newChest);
            }

            IslandStorage newStorage = new IslandStorage()
            {
                fruitInStorage = new List <FruitInInventory>()
            };
            for (int i = 0; i < jsonInventory.fruits0.Length; i++)
            {
                FruitInInventory newFruitInInventory = new FruitInInventory();
                newFruitInInventory.name = jsonInventory.fruits0[i];
                newFruitInInventory.amt  = jsonInventory.fruitAmts0[i];
                newStorage.fruitInStorage.Add(newFruitInInventory);
                //Debug.Log("Added fruit");
            }
            newInventory.islands.Add(newStorage);

            newStorage = new IslandStorage()
            {
                fruitInStorage = new List <FruitInInventory>()
            };
            for (int i = 0; i < jsonInventory.fruits1.Length; i++)
            {
                FruitInInventory newFruitInInventory = new FruitInInventory();
                newFruitInInventory.name = jsonInventory.fruits1[i];
                newFruitInInventory.amt  = jsonInventory.fruitAmts1[i];
                newStorage.fruitInStorage.Add(newFruitInInventory);
                //Debug.Log("Added fruit");
            }
            newInventory.islands.Add(newStorage);

            newStorage = new IslandStorage()
            {
                fruitInStorage = new List <FruitInInventory>()
            };
            for (int i = 0; i < jsonInventory.fruits0.Length; i++)
            {
                FruitInInventory newFruitInInventory = new FruitInInventory();
                newFruitInInventory.name = jsonInventory.fruits2[i];
                newFruitInInventory.amt  = jsonInventory.fruitAmts2[i];
                newStorage.fruitInStorage.Add(newFruitInInventory);
                //Debug.Log("Added fruit");
            }
            newInventory.islands.Add(newStorage);

            inventory = newInventory;

            //Debug.Log("LOADED INVENTORY");
        }
        else
        {
            SaveInventory();
        }
    }