private void pickItemForSlot(CombatItemSlot slot, int index)
    {
        UIQuickMenuPickCombatItem page = Instantiate(pickCombatItemPrefab);

        page.slot      = slot;
        page.slotIndex = index;
        selectedIndex  = index;

        menu.NavigateInto(page);
    }
Пример #2
0
    public CombatItem UnEquip(CombatItemSlot slot)
    {
        if (slot.isOccupied)
        {
            CombatItem combatItem = slot.Get();

            slot.Set(null);

            return(combatItem);
        }

        return(null);
    }
    protected override void OnQuickMenuPageEnabled()
    {
        Mannequin mannequin = avatarController.character.GetComponent <Mannequin>();

        for (int i = 0; i < mannequin.combatItemSlots.Length; i++)
        {
            CombatItemSlot slot = mannequin.combatItemSlots[i];

            slotViews[i].component = slot.Get();
        }

        slotViews[selectedIndex].GetComponent <UISelectable>().Select();
    }
Пример #4
0
 internal void Equip(CombatItem combatItem, CombatItemSlot slot)
 {
     slot.Set(combatItem);
 }
Пример #5
0
    /// <summary>
    /// Fetches slot views from the hierarchy and assigns them to newly created slots
    /// </summary>
    protected override void Start()
    {
        ArmorSlotView[] armorSlotViews = GetComponentsInChildren <ArmorSlotView>(true);
        _armorSlots = new ArmorSlot[armorSlotViews.Length];

        for (int i = 0; i < _armorSlots.Length; i++)
        {
            ArmorSlotView view = armorSlotViews[i];

            switch (view.type)
            {
            case ArmorType.Helmet:
                _armorSlots[i] = new ArmorSlot(view, helmetSlotName);
                break;

            case ArmorType.Torso:
                _armorSlots[i] = new ArmorSlot(view, torsoSlotName);
                break;

            case ArmorType.Boots:
                _armorSlots[i] = new ArmorSlot(view, bootsSlotName);
                break;
            }
        }

        CombatItemSlotView[] combatItemSlotView = GetComponentsInChildren <CombatItemSlotView>(true);

        _combatItemSlots = new CombatItemSlot[combatItemSlotCount];

        for (int i = 0; i < _combatItemSlots.Length; i++)
        {
            _combatItemSlots[i] = new CombatItemSlot();
        }

        for (int i = 0; i < combatItemSlotView.Length; i++)
        {
            CombatItemSlotView view = combatItemSlotView[i];

            switch (view.type)
            {
            case CombatItemSlotType.Hands:
                _itemSlotViewHands = view;
                break;

            case CombatItemSlotType.Hip:
                _itemSlotViewHip = view;
                break;

            case CombatItemSlotType.Back:
                _itemSlotViewBack = view;
                break;
            }
        }

        base.Start();

        EquipArmor(ArmorType.Helmet, helmet);
        EquipArmor(ArmorType.Torso, torso);
        EquipArmor(ArmorType.Boots, boots);

        for (int i = 0; i < combatItems.Length; i++)
        {
            EquipCombatItem(i, combatItems[i]);
        }
    }