public void ShowAllInventories() { currentFilter = FilterMode.All; HideAllInventories(); foreach (Inventory inv in Data.player.inventories.Keys) { GameObject go = objectPool.GetObject(); go.transform.SetParent(inventoryPanel); go.transform.localScale = Vector3.one; go.GetComponent <InventoryButtonUI>().inventoryUI = inventoryUI; InventoryButtonUI buttonUI = go.GetComponent <InventoryButtonUI>(); buttonUI.inventory = inv; buttonUI.UpdateUI(); } }
public void ShowOthers() { currentFilter = FilterMode.Others; HideAllInventories(); foreach (Inventory inv in Data.player.inventories.Keys) { if (inv.GetType() != typeof(Material)) { continue; } GameObject go = objectPool.GetObject(); go.transform.SetParent(inventoryPanel); go.transform.localScale = Vector3.one; go.GetComponent <InventoryButtonUI>().inventoryUI = inventoryUI; InventoryButtonUI buttonUI = go.GetComponent <InventoryButtonUI>(); buttonUI.inventory = inv; buttonUI.UpdateUI(); } }
public void ActivateOperationPanel(InventoryButtonUI ibtn) { operationUI.gameObject.SetActive(true); operationUI.Initialize(ibtn); }
// ------ Public Functions ------ /// <summary> /// Initialize the operation board for specific inventory /// </summary> /// <param name="ibtn">Referenced InventoryButtonUI</param> public void Initialize(InventoryButtonUI ibtn) { this.ibtn = ibtn; // Set pivot and position of the board if (Input.mousePosition.x + operationBoard.rect.width > Display.main.systemWidth) { if (Input.mousePosition.y - operationBoard.rect.height > 0) { operationBoard.pivot = new Vector2(1, 1); } else { operationBoard.pivot = new Vector2(1, 0); } } else { if (Input.mousePosition.y - operationBoard.rect.height > 0) { operationBoard.pivot = new Vector2(0, 1); } else { operationBoard.pivot = new Vector2(0, 0); } } operationBoard.position = Input.mousePosition; // Update buttons System.Type inventoryType = ibtn.inventory.GetType(); if ((inventoryType == typeof(Weapon) || inventoryType == typeof(Armor) || inventoryType == typeof(Accessory)) && !Data.player.HasEquip(ibtn.inventory)) { equipBtn.interactable = true; } else { equipBtn.interactable = false; } if (inventoryType == typeof(Food)) { eatBtn.interactable = true; } else { eatBtn.interactable = false; } decomposeBtn.interactable = false; if (Data.player.HasEquip(ibtn.inventory)) { abandonBtn.interactable = false; } else { abandonBtn.interactable = true; } // Update text description.text = ibtn.inventory.description; }