This repository has been archived on 2025-04-11. You can view files and clone it, but cannot push or open issues or pull requests.
mochapine64backup/MoCha/Assets/Scripts/Inventory.cs

120 lines
3.2 KiB
C#
Raw Normal View History

2018-04-19 13:45:53 -05:00
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
2018-04-26 06:59:29 -05:00
using System.Text;
2018-04-19 13:45:53 -05:00
public class Inventory : MonoBehaviour
{
public Image[] itemImages = new Image[numItemSlots];
public Item[] items = new Item[numItemSlots];
2018-04-23 18:49:34 -05:00
public const int numItemSlots = 25;
void Awake()
{
2018-04-26 06:59:29 -05:00
//PlayerPrefs.SetString("inventory", "");
string savedString = PlayerPrefs.GetString("inventory");
string[] itemNames = savedString.Split(' ');
Debug.Log (itemNames [itemNames.Length-1]);
for (int i = 0; i < itemNames.Length - 1; i++)
{
2018-04-26 06:59:29 -05:00
Sprite sprite = (Resources.Load<Sprite>(itemNames[i] + "_sprite"));
Item itm = new Item ();
itm.name = itemNames [i];
itm.sprite = sprite;
items[i] = itm;
itemImages[i].sprite = itm.sprite;
itemImages[i].enabled = true;
}
}
2018-04-19 13:45:53 -05:00
public void AddItem(Item itemToAdd)
{
2018-04-26 06:59:29 -05:00
StringBuilder invList = new StringBuilder ();
invList.Append(PlayerPrefs.GetString ("inventory"));
invList.Append(itemToAdd.name).Append(" ");
PlayerPrefs.SetString ("inventory", invList.ToString());
2018-04-19 13:45:53 -05:00
for (int i = 0; i < items.Length; i++)
{
if (items[i] == null)
{
items[i] = itemToAdd;
itemImages[i].sprite = itemToAdd.sprite;
itemImages[i].enabled = true;
return;
}
}
}
2018-04-26 06:59:29 -05:00
public void AddItem(string itemName)
{
StringBuilder invList = new StringBuilder ();
invList.Append(PlayerPrefs.GetString ("inventory"));
invList.Append(itemName).Append(" ");
PlayerPrefs.SetString ("inventory", invList.ToString());
for (int i = 0; i < items.Length; i++)
{
if (items[i] == null)
{
Sprite sprite = (Resources.Load<Sprite>(itemName + "_sprite"));
Item itm = new Item ();
itm.name = itemName;
itm.sprite = sprite;
items[i] = itm;
itemImages[i].sprite = itm.sprite;
itemImages[i].enabled = true;
return;
}
}
}
2018-04-19 13:45:53 -05:00
public void RemoveItem (Item itemToRemove)
{
2018-04-26 06:59:29 -05:00
StringBuilder invList = new StringBuilder ();
invList.Append(PlayerPrefs.GetString ("inventory"));
int index = invList.ToString ().IndexOf (itemToRemove.name + " ");
invList.Remove(index, (itemToRemove.name + " ").Length);
PlayerPrefs.SetString ("inventory", invList.ToString());
GameObject instance = (GameObject)Instantiate(Resources.Load(itemToRemove.name));
2018-04-26 06:59:29 -05:00
instance.name = itemToRemove.name;
2018-04-19 13:45:53 -05:00
for (int i = 0; i < items.Length; i++)
{
2018-04-26 06:59:29 -05:00
if (items[i].name == itemToRemove.name)
2018-04-19 13:45:53 -05:00
{
items[i] = null;
itemImages[i].sprite = null;
itemImages[i].enabled = false;
return;
}
}
}
2018-04-26 06:59:29 -05:00
public void RemoveItem (string itemName)
{
StringBuilder invList = new StringBuilder ();
invList.Append(PlayerPrefs.GetString ("inventory"));
int index = invList.ToString ().IndexOf (itemName + " ");
invList.Remove(index, (itemName + " ").Length);
PlayerPrefs.SetString ("inventory", invList.ToString());
GameObject instance = (GameObject)Instantiate(Resources.Load(itemName));
instance.GetComponent<DragAndDrop> ().inventory = this;
instance.name = itemName;
for (int i = 0; i < items.Length - 1; i++)
{
if (items [i] != null) {
Debug.Log (items [i].name + " == " + itemName);
if (items [i].name == itemName) {
items [i] = null;
itemImages [i].sprite = null;
itemImages [i].enabled = false;
return;
}
}
}
}
2018-04-19 13:45:53 -05:00
}