Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- using UnityStandardAssets.Characters.FirstPerson;
- using UnityStandardAssets.Characters.ThirdPerson;
- [System.Serializable]
- public class Inventory : MonoBehaviour {
- public static Inventory inventory;
- ItemDatabase database;
- GameObject slotPanel;
- public GameObject inventorySlot;
- public GameObject inventoryItem;
- public GameObject inventoryCanvas;
- public KeyCode inventoryKey = KeyCode.I;
- private PauseManager pauseManager;
- //private RigidbodyFirstPersonController fpsController;
- //private ThirdPersonUserControl fpsController;
- //private float defaultSensetivityX = 2f;
- //private float defaultSensetivityY = 2f;
- public bool isShown = false;
- int slotAmount;
- public List<Item> items = new List<Item>();
- public List<GameObject> slots = new List<GameObject>();
- void Start()
- {
- //fpsController = GameObject.FindGameObjectWithTag("Player").GetComponent<RigidbodyFirstPersonController>();
- //defaultSensetivityX = fpsController.mouseLook.XSensitivity;
- //defaultSensetivityY = fpsController.mouseLook.YSensitivity;
- inventory = this;
- database = GetComponent<ItemDatabase>();
- slotAmount = 21;
- slotPanel = GameObject.Find("Slot Panel");
- for (int i = 0; i <slotAmount; i++)
- {
- items.Add(new Item());
- slots.Add(Instantiate(inventorySlot));
- slots[i].GetComponent<Slot>().id = i;
- slots[i].transform.SetParent(slotPanel.transform);
- }
- AddItem(0);
- AddItem(0);
- AddItem(1);
- AddItem(1);
- isShown = false;
- }
- public void AddItem(int id)
- {
- Item itemToAdd = database.FetchItemByID(id);
- if (itemToAdd.Stackable && CheckIfItemIsInInventory (itemToAdd))
- {
- for (int i = 0; i < items.Count; i++)
- {
- if (items[i].ID == id)
- {
- ItemData data = slots[i].transform.GetChild(0).GetComponent<ItemData>();
- data.amount++;
- data.transform.GetChild(0).GetComponent<Text>().text = data.amount.ToString();
- break;
- }
- }
- }
- else
- {
- for (int i = 0; i < items.Count; i++)
- {
- if (items[i].ID == -1)
- {
- items[i] = itemToAdd;
- GameObject itemObj = Instantiate(inventoryItem);
- itemObj.GetComponent<ItemData>().item = itemToAdd;
- itemObj.GetComponent<ItemData>().slot = i;
- itemObj.transform.SetParent(slots[i].transform);
- itemObj.transform.position = Vector2.zero;
- itemObj.GetComponent<Image>().sprite = itemToAdd.Sprite;
- itemObj.name = itemToAdd.Title;
- ItemData data = slots[i].transform.GetChild(0).GetComponent<ItemData>();
- data.amount = 1;
- break;
- }
- }
- }
- }
- bool CheckIfItemIsInInventory(Item item)
- {
- for (int i = 0; i < items.Count; i++)
- if (items[i].ID == item.ID)
- return true;
- return false;
- }
- void Update()
- {
- if (Input.GetKeyDown(inventoryKey))
- {
- isShown = !isShown;
- if (isShown == true)
- {
- //fpsController.mouseLook.XSensitivity = 0;
- //fpsController.mouseLook.YSensitivity = 0;
- }
- else if (isShown == false)
- {
- //fpsController.mouseLook.XSensitivity = defaultSensetivityX;
- //fpsController.mouseLook.YSensitivity = defaultSensetivityY;
- }
- }
- if (isShown == true)
- {
- inventoryCanvas.SetActive(true);
- }
- else if (isShown == false)
- {
- inventoryCanvas.SetActive(false);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement