示例#1
0
    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();
        }
    }
示例#2
0
    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();
        }
    }
示例#3
0
 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;
    }