Quantcast
Channel: Questions in topic: "slot"
Viewing all articles
Browse latest Browse all 109

How do I make my inventory find the first slot available?

$
0
0
I already tried to do this but when ever I pick up an item it takes it to only the second slot! Inventory script: using UnityEngine; using System.Collections; using System.Collections.Generic; public class Inventory : MonoBehaviour { private Rect windowRect = new Rect(300, 100, 400, 400); static public Dictionary inventorynamesDictionary = new Dictionary() { {0, string.Empty}, {1, string.Empty}, {2, string.Empty}, {3, string.Empty}, {4, string.Empty}, {5, string.Empty}, {6, string.Empty}, {7, string.Empty}, {8, string.Empty}, {9, string.Empty} }; public static bool FirstSlot = false; public static bool SecondSlot = false; public static bool ThirdSlot = false; public static bool FourthSlot = false; public static bool FifthSlot = false; public static bool SixthSlot = false; ItemClass itemObject = new ItemClass(); void Start (){ } void Update () { } void OnGUI() { if(Input.GetKey (KeyCode.Tab)) windowRect = GUI.Window(0, windowRect, DoMyWindow, "Inventory"); } void DoMyWindow(int windowID) { GUILayout.BeginArea (new Rect (0, 50, 400, 400)); GUILayout.BeginHorizontal (); if (GUILayout.Button (inventorynamesDictionary [0], GUILayout.Height (50))) { if(inventorynamesDictionary[0] == itemObject.cm9Item.name) { Debug.Log("Equpuiped weapon!!"); } } GUILayout.Button (inventorynamesDictionary [1], GUILayout.Height (50)); GUILayout.Button (inventorynamesDictionary [2], GUILayout.Height (50)); GUILayout.EndHorizontal (); GUILayout.BeginHorizontal (); GUILayout.Button (inventorynamesDictionary [3], GUILayout.Height (50)); GUILayout.Button (inventorynamesDictionary [4], GUILayout.Height (50)); GUILayout.Button (inventorynamesDictionary [5], GUILayout.Height (50)); GUILayout.EndHorizontal (); GUILayout.EndArea (); } } PickUpgun script using UnityEngine; using System.Collections; using System.Collections.Generic; public class PickUpGun : MonoBehaviour { public GameObject Gun; public GameObject Gun1; public bool GotPistol; private Ray mouseRay; private RaycastHit rayHit; private Dictionary lootDictionary = new Dictionary () {{0, string.Empty}, {1, string.Empty}, {2, string.Empty}, {3, string.Empty}, {4, string.Empty}, {5, string.Empty} }; ItemClass itemObject = new ItemClass(); public GameObject objectwithInventory; Inventory Inventory ; // Use this for initialization void Start () { lootDictionary [0] = itemObject.cm9Item.name; lootDictionary [1] = itemObject.breadItem.name; lootDictionary [2] = itemObject.painkillersItem.name; Inventory = objectwithInventory.GetComponent(); } // Update is called once per frame void Update () { mouseRay = Camera.main.ScreenPointToRay (new Vector3 (Screen.width / 2, Screen.height / 2,0)); if (Input.GetKeyDown (KeyCode.E)) { Physics.Raycast(mouseRay, out rayHit); if(rayHit.collider.transform.tag == "cm9") { Destroy(Gun); GotPistol = true; if(GotPistol = true){ if(Inventory.FirstSlot = false){ Inventory.inventorynamesDictionary [0] = lootDictionary[0]; Inventory.FirstSlot = true; Debug.Log ("First Slot is now full"); } if(Inventory.FirstSlot = true) { Inventory.inventorynamesDictionary [1] = lootDictionary[0]; Inventory.SecondSlot = true; } } } } } }

Viewing all articles
Browse latest Browse all 109

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>