- Home /
Question by
Villlgaer · Jun 30, 2015 at 12:12 PM ·
inventoryinventory systemconfusedcrafting
Inventory List Crafting HELP
So what I need is that if I have like 4 peace of wood in my list[inventory], and when I click some button it only removes 2 peaces.. Here is my script:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class Inventory : MonoBehaviour {
public List<Item> inventoryList = new List<Item>();
public List<Item> slotList = new List<Item>();
public GUISkin inventoryBox;
public int slotX, slotY;
private bool inventoryWindow = false;
private ItemDatabase databaseScript;
void Start () {
for(int i = 0; i < slotY * slotX; i++)
{
slotList.Add(new Item());
inventoryList.Add(new Item());
}
databaseScript = GameObject.FindGameObjectWithTag("ItemDatabase").GetComponent<ItemDatabase>();
AddItem(0);
AddItem(0);
AddItem(0);
AddItem(1);
}
void Update () {
if(Input.GetKeyDown(KeyCode.C))
{
for(int i = 0; i < inventoryList.Count); i++)
{
if(inventoryList[i].itemID == 0)
{
inventoryList[i] = new Item();
break;
}
}
}
if(Input.GetKeyDown(KeyCode.I))
{
inventoryWindow = !inventoryWindow;
}
}
void OnGUI () {
if(inventoryWindow)
{
InventoryWindowGUI();
}
}
void InventoryWindowGUI () {
int i = 0;
for(int y = 0; y < slotY; y++)
{
for(int x = 0; x < slotX; x++)
{
Rect slotRect = new Rect(x * 45, y * 45, 40, 40);
GUI.Box(slotRect, "", inventoryBox.GetStyle("InventoryBox"));
slotList[i] = inventoryList[i];
if(slotList[i].itemName != null)
{
GUI.DrawTexture(slotRect, slotList[i].itemIcon);
}
i++;
}
}
}
void AddItem(int id) {
for(int i = 0; i < inventoryList.Count; i++)
{
if(inventoryList[i].itemName == null)
{
for(int j = 0; j < databaseScript.itemList.Count; j++)
{
if(databaseScript.itemList[j].itemID == id)
{
inventoryList[i] = databaseScript.itemList[j];
}
}
break;
}
}
}
}
Comment
Your answer
Follow this Question
Related Questions
Crafting system NOT like minecraft 1 Answer
enum comparing 1 Answer
Scriptableobject List and Instantiating objects from it 3 Answers
Inventory Drop Function Problem 1 Answer
What is a good component to use for a GUI inventory display? 1 Answer