コード例 #1
0
    void UpdateView_DungeonMapAndItems()
    {
        int  dungeonNum = WorldInfo.Instance.DungeonNum;
        bool hasMap     = _inventory.HasMapForDungeon(dungeonNum);
        bool hasCompass = _inventory.HasCompassForDungeon(dungeonNum);

        if (hasMap)
        {
            Item item = _inventory.GetItem("Map");
            InventoryViewItemMapping mapping = item.GetComponent <InventoryViewItemMapping>();
            DoRenderItem(item, mapping);
        }

        if (hasCompass)
        {
            Item item = _inventory.GetItem("Compass");
            InventoryViewItemMapping mapping = item.GetComponent <InventoryViewItemMapping>();
            DoRenderItem(item, mapping);
        }

        // Dungeon Map
        View.ShouldDungeonMapRevealVisitedRooms   = true;
        View.ShouldDungeonMapRevealUnvisitedRooms = false;
        View.ShouldDungeonMapRevealTriforceRoom   = false;
        View.UpdateDungeonMap();
    }
コード例 #2
0
    public void SetTextureForMappedItem(Texture texture, InventoryViewItemMapping mapping, bool isEquippedItemB = false)
    {
        if (mapping.Type == InventoryViewItemMapping.TypeEnum.Triforce)
        {
            return;
        }

        GameObject itemSlot;

        if (isEquippedItemB)
        {
            itemSlot = _itemEquippedB;
            if (itemSlot == null)
            {
                Debug.LogError("Null itemSlot for itemEquippedB");
                return;
            }
        }
        else
        {
            itemSlot = GetItemSlotForMapping(mapping);
            if (itemSlot == null)
            {
                Debug.LogError("Null itemSlot for mapping: " + mapping.ToString());
                return;
            }
        }

        SetTextureForItemSlot(itemSlot, texture);
    }
コード例 #3
0
    void DoRenderItem(Item item, InventoryViewItemMapping mapping, bool isEquippedItemB = false)
    {
        Texture texture = item.GuiSpriteTexture;

        if (texture == null)
        {
            Debug.LogError("Null texture for Item: " + item.name);
            return;
        }

        View.SetTextureForMappedItem(texture, mapping, isEquippedItemB);
    }
コード例 #4
0
    void UpdateView_EquippedItemB()
    {
        Item item = _inventory.EquippedItemB;

        if (item == null)
        {
            return;
        }

        InventoryViewItemMapping mapping = item.GetComponent <InventoryViewItemMapping>();

        DoRenderItem(item, mapping, true);
    }
コード例 #5
0
    public void ShowView()
    {
        if (IsViewShowing)
        {
            return;
        }
        IsViewShowing = true;

        View.gameObject.SetActive(true);
        PlayInventoryToggleSound();

        Item itemB = _inventory.EquippedItemB;

        if (itemB != null)
        {
            InventoryViewItemMapping mapping = itemB.GetComponent <InventoryViewItemMapping>();
            View.CursorIndex = new Index2(mapping.Column, mapping.Row);
        }
    }
コード例 #6
0
    GameObject GetItemSlotForMapping(InventoryViewItemMapping mapping)
    {
        GameObject itemSlot = null;

        switch (mapping.Type)
        {
        case InventoryViewItemMapping.TypeEnum.Passive: itemSlot = _passiveItemSlots[mapping.Column]; break;

        case InventoryViewItemMapping.TypeEnum.Active: itemSlot = _activeItemSlots[mapping.Row, mapping.Column]; break;

        case InventoryViewItemMapping.TypeEnum.Auxillary: itemSlot = _auxItemSlots[mapping.Aux]; break;

        case InventoryViewItemMapping.TypeEnum.Triforce: break;

        case InventoryViewItemMapping.TypeEnum.Bow: itemSlot = _bowSlot; break;

        default: break;
        }

        return(itemSlot);
    }
コード例 #7
0
    // Returns a list of Items that the MenuCursor is currently allowed to be over
    List <Item> GetSelectableItems()
    {
        List <Item> selectableItems = new List <Item>();

        foreach (Item item in _inventory.Items.Values)
        {
            if (!ShouldRenderItem(item))
            {
                continue;
            }

            InventoryViewItemMapping mapping = item.GetComponent <InventoryViewItemMapping>();
            if (mapping == null || mapping.Type != InventoryViewItemMapping.TypeEnum.Active)
            {
                continue;
            }

            selectableItems.Add(item);
        }

        return(selectableItems);
    }
コード例 #8
0
    void UpdateView_Items()
    {
        View.ClearAllItemSlots();

        foreach (Item item in _inventory.Items.Values)
        {
            if (!ShouldRenderItem(item))
            {
                continue;
            }

            InventoryViewItemMapping mapping = item.GetComponent <InventoryViewItemMapping>();
            if (mapping == null)
            {
                Debug.LogError("Null InventoryViewItemMapping for item: " + item.name);
                continue;
            }

            DoRenderItem(item, mapping);
        }

        UpdateView_EquippedItemB();
    }