Hello, I have an inventory system. I saw this video of this guy who made one himself, but when his inventory shows, he can use the mouse cursor. Is there anyway to do this that I do not know of?
I am new to scripting by the way.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Inventory : MonoBehaviour
{
public GameObject inventory;
public GameObject slotHolder;
public GameObject itemHolder;
private bool inventoryEnabled;
private int slots;
private Transform[] slot;
private GameObject itemPickedUp;
private bool itemAdded;
public void Start()
{
//Slots being detected
slots = slotHolder.transform.childCount;
slot = new Transform[slots];
DetectInventorySlots();
}
public void Update()
{
if (Input.GetKeyDown(KeyCode.Tab))
{
inventoryEnabled = !inventoryEnabled;
}
if (inventoryEnabled)
inventory.SetActive(true);
else
inventory.SetActive(false);
}
public void OnTriggerEnter(Collider other)
{
if(other.tag == "Item")
{
print("Colliding!");
itemPickedUp = other.gameObject;
AddItem(itemPickedUp);
}
}
public void OnTriggerExit(Collider other)
{
if(other.tag == "Item")
{
itemAdded = false;
}
}
public void AddItem(GameObject item)
{
if (itemPickedUp == null)
return;
for (int i = 0; i < slots; i++)
{
if (slot[i] != null)
{
Slots slots = slot[i].GetComponent<Slots>();
if ((slots != null) && (slots.empty) && itemAdded == false)
{
slots.item = itemPickedUp;
slots.itemIcon = (itemPickedUp.GetComponent<Item>() != null) ? itemPickedUp.GetComponent<Item>().icon : null;
item.transform.parent = itemHolder.transform;
item.transform.position = itemHolder.transform.position;
if (item.GetComponent<MeshRenderer>())
item.GetComponent<MeshRenderer>().enabled = false;
Destroy(item.GetComponent<Rigidbody>());
itemAdded = true;
}
}
}
}
public void DetectInventorySlots()
{
for (int i = 0; i < slots; i++)
{
slot[i] = slotHolder.transform.GetChild(i);
}
}
}