- 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
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                