public void AddSeed(string seed)
    {
        bool isNewSeed = true;

        for (int i = 0; i < inventory.seeds.Count; i++)
        {
            if (inventory.seeds[i].name == seed)
            {
                isNewSeed = false;
                SeedInInventory seedToEdit = inventory.seeds[i];
                seedToEdit.amt    += 1;
                inventory.seeds[i] = seedToEdit;
                //Debug.Log("Added");
                break;
            }
        }

        if (isNewSeed)
        {
            SeedInInventory newSeed = new SeedInInventory();
            newSeed.amt  = 1;
            newSeed.name = seed;
            inventory.seeds.Add(newSeed);
        }
        SaveInventory();
    }
    public void SetUpButton(SeedInInventory newSeed)
    {
        IM                   = InventoryManager.Instance;
        thisSeed             = newSeed;
        childImage.sprite    = IM.FindSeed(thisSeed.name).sprite;
        childAmtCounter.text = "x" + thisSeed.amt;

        if (thisSeed.amt <= 0)
        {
            this.GetComponent <Button>().interactable = false;
        }
    }
    public void RemoveSeed(string seedName)
    {
        for (int i = 0; i < inventory.seeds.Count; i++)
        {
            SeedInInventory seedToEdit = new SeedInInventory();
            if (inventory.seeds[i].name == seedName)
            {
                seedToEdit = inventory.seeds[i];

                seedToEdit.amt -= 1;
                inventory.seeds.RemoveAt(i);
                inventory.seeds.Insert(i, seedToEdit);
                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);
    }
    public void AddSeed(SeedInInventory seed)
    {
        bool newSeed = true;

        for (int i = 0; i < inventory.seeds.Count; i++)
        {
            if (inventory.seeds[i].name == seed.name)
            {
                newSeed = false;
                SeedInInventory seedToEdit = inventory.seeds[i];
                seedToEdit.amt    += 1;
                inventory.seeds[i] = seedToEdit;
                Debug.Log("Added");
                break;
            }
        }

        if (newSeed)
        {
            inventory.seeds.Add(seed);
        }

        SaveInventory();
    }
    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();
        }
    }