void Start() { itemDatabase = GameObject.Find("Databases").transform.Find("ItemDatabase").GetComponent <ItemDatabase> (); inventorySelector = GetComponent <InventorySelector> (); for (int i = 0; i < totalSlots; i++) { if (startingItemIds.Length > i) { Item newItem = itemDatabase.items [startingItemIds [i]]; inventory.Add(newItem); if (i == inventorySelector.CurrentSlot) { inventorySelector.ShowItemName(newItem.itemName); if (newItem.itemType == Item.Types.Weapon) { GunManager gunManager = GameObject.Find("GameManager").GetComponent <GunManager> (); gunManager.ammoUI.SetMaxAmmo(newItem.itemPrefab.GetComponent <Gun> ().clipSize); gunManager.ammoUI.SetCurrentAmmo(0); } } } else { inventory.Add(new Item()); // placeholder for future items } } }
public void ClickedToolSlot(int slotIndex) { InventorySelector sel = currentSelecObject.GetComponent <InventorySelector> (); if (toolSlots [slotIndex].item.title == "") { if (currentSelecObject.activeSelf == true) { toolSlots [slotIndex].item.SetEqualTo(toolSlots[slotIndex].item, sel.item); if (shift && sel.item.stackable) { toolSlots [slotIndex].amount++; sel.ChangeSelectorAmt(-1); if (sel.itemAmt == 0) { currentSelecObject.SetActive(false); } } else { toolSlots [slotIndex].amount = sel.itemAmt; currentSelecObject.SetActive(false); } } } else if (toolSlots [slotIndex].item.title != "") { if (currentSelecObject.activeSelf == true) { if (toolSlots [slotIndex].item.title == sel.item.title && sel.item.stackable) { if (shift && sel.itemAmt > 1) { sel.ChangeSelectorAmt(-1); toolSlots [slotIndex].amount++; } else { toolSlots[slotIndex].amount += sel.itemAmt; currentSelecObject.SetActive(false); } } } else { currentSelecObject.SetActive(true); currentSelecObject.GetComponent <InventorySelector> ().DisplaySelector(toolSlots [slotIndex].item, toolSlots [slotIndex].amount); toolSlots [slotIndex].item.Clear(); toolSlots [slotIndex].amount = 0; } } UpdateSlot(slotIndex, false); }
public void ClickedDrop() { if (currentSelecObject.activeSelf == true) { InventorySelector sel = currentSelecObject.GetComponent <InventorySelector> (); if (shift && sel.itemAmt > 1) { Drop(sel.item, 1); sel.ChangeSelectorAmt(-1); } else { Drop(sel.item, sel.itemAmt); currentSelecObject.SetActive(false); } } }
void Start() { _active = gameObject.activeSelf; tooltip = GameObject.Find("UI").transform.Find("Tooltip").gameObject.GetComponent <Tooltip>(); inventoryUI = GameObject.Find("GameManager").GetComponent <InventoryUIManager> (); inventorySelector = GameObject.Find("GameManager").GetComponent <InventorySelector> (); image = GetComponent <Image> (); icon = transform.Find("Icon").GetComponent <Image> (); defaultIcon = icon.sprite; mouseManager = GameObject.Find("GameManager").GetComponent <MouseManager> (); inventory = GameObject.Find("GameManager").GetComponent <Inventory> (); inventory.inventoryChangedEvent += OnInventoryChanged; item = inventory.InventoryList [slotID]; OnInventoryChanged(); }
private int currentAmmo; // used by AI only, not player void Start() { currentAmmo = clipSize; inventory = GameObject.Find("GameManager").GetComponent <Inventory> (); gunManager = GameObject.Find("GameManager").GetComponent <GunManager>(); inventoryUI = GameObject.Find("GameManager").GetComponent <InventoryUIManager>(); flashParticles = Instantiate(gunManager.flashParticles); flashParticles.transform.parent = transform; foreach (Transform muzzle in muzzles) { flashParticles.transform.position = muzzle.position; } inventorySelector = GameObject.Find("GameManager").GetComponent <InventorySelector> (); InventorySlotData data = inventorySelector.CurrentSlotObject.GetComponent <InventorySlotData> (); gunManager.ammoUI.SetCurrentAmmo(data.currentAmmo); }
// Update is called once per frame void Update() { if (Input.GetButtonDown("E")) { menuOpen = !menuOpen; menuObject.SetActive(menuOpen); if (!menuOpen) { Inventory inv = player.GetComponent <Inventory> (); if (inv.currentSelecObject.activeSelf == true) { InventorySelector sel = inv.currentSelecObject.GetComponent <InventorySelector> (); inv.Drop(sel.item, sel.itemAmt); inv.currentSelecObject.SetActive(false); } } } }
private void Awake() { current = this; }