public void SaveInventory()
    {
        Debug.Log("hi there;lk;l");
        string jsonFromFile = File.ReadAllText(filename);

        Debug.Log(jsonFromFile);
        InventoryDataList list = InventoryDataList.CreateFromJSON(jsonFromFile);

        Debug.Log(list);
        for (int i = 0; i < inventory.slots.Count(); i++)
        {
            list.items[i].itemName           = inventory.slots[i].itemName;
            list.items[i].itemDescription    = inventory.slots[i].itemDescription;
            list.items[i].KeyID              = inventory.slots[i].KeyID;
            list.items[i].itemIndestructible = inventory.slots[i].itemIndestructible;
            list.items[i].prefabName         = inventory.slots[i].prefabName;
        }

        jsonData = JsonUtility.ToJson(list);
        Debug.Log(jsonData);

        if (File.Exists(filename))
        {
            File.Delete(filename);
        }

        File.WriteAllText(filename, jsonData);
    }
    public void LoadInventory()
    {
        string            jsonFromFile = File.ReadAllText(filename);
        InventoryDataList list         = InventoryDataList.CreateFromJSON(jsonFromFile);

        if (File.Exists(filename))
        {
            for (int j = 0; j < inventory.slots.Count(); j++)
            {
                if (list.items[j].KeyID != 0)
                {
                    Debug.Log("Assigning items to slot " + j);
                    inventory.items[j] = 1; // makes sure that the slot is now considered FULL
                    //   instance = Instantiate(itemButton, inventory.slots[i].transform, false); // spawn the button so that the player can interact with it
                    inventory.slots[j].itemName        = list.items[j].itemName;
                    inventory.slots[j].itemDescription = list.items[j].itemDescription;
                    GameObject instance = Instantiate(Resources.Load(list.items[j].prefabName, typeof(GameObject)), inventory.slots[j].transform, false) as GameObject;
                    inventory.slots[j].itemObject = instance;
                    //    inventory.slots[i].itemObject = list.instance[i];
                    inventory.slots[j].KeyID = list.items[j].KeyID;
                    inventory.slots[j].itemIndestructible = list.items[j].itemIndestructible;
                    inventory.slots[j].prefabName         = list.items[j].prefabName;
                    //   instance.GetComponent<Item>().slotNumber = i;
                }
            }
        }
    }
    public void ResetInventory()
    {
        string            jsonFromFile = File.ReadAllText(filename);
        InventoryDataList list         = InventoryDataList.CreateFromJSON(jsonFromFile);

        for (int i = 0; i < inventory.slots.Count(); i++)
        {
            list.items[i].itemName           = "";
            list.items[i].itemDescription    = "";
            list.items[i].KeyID              = 0;
            list.items[i].itemIndestructible = false;
            list.items[i].prefabName         = "";
            inventory.items[i]                 = 0; // makes sure that the slot is now considered EMPTY
            inventory.slots[i].itemName        = "";
            inventory.slots[i].itemDescription = "";
            Destroy(inventory.slots[i].itemObject);
            inventory.slots[i].itemObject         = null;
            inventory.slots[i].KeyID              = 0;
            inventory.slots[i].itemIndestructible = false;
        }

        jsonData = JsonUtility.ToJson(list);
        Debug.Log(jsonData);

        if (File.Exists(filename))
        {
            File.Delete(filename);
        }

        File.WriteAllText(filename, jsonData);
    }