public void HandlePressedSlotButton(Item.ItemTypes itemTypeOnButton, Loadout.LeftOrRight leftOrRight, int slotNumber, bool playEquipSound = false)
    {
        if (playEquipSound)
        {
            hubWorldSFX.PlayHubSoundEffect(HubWorldSFX.HubSoundeffect.EquipItem);
        }
        else
        {
            hubWorldSFX.PlayHubSoundEffect(HubWorldSFX.HubSoundeffect.SelectingInventorySlot);
        }
        List <LoadoutSlotBtn> currentLoadoutSlotBtns = GetCurrentLoadoutSlotBtns();

        foreach (LoadoutSlotBtn button in currentLoadoutSlotBtns)
        {
            if (itemTypeOnButton != button.GetItemType() || leftOrRight != button.GetLeftOrRight() || slotNumber != button.GetSlotNumber())
            {
                button.SetInactive();
            }
        }
        if (currentFilters.Count != 1 || currentFilters.Count == 1 && currentFilters[0] != itemTypeOnButton)
        {
            UpdateFilters(itemTypeOnButton, leftOrRight, slotNumber);
            SetupInventoryList();
        }
        else
        {
            UpdateFilters(itemTypeOnButton, leftOrRight, slotNumber);
            SetupInventoryList();
            //SelectEquippedItemInList();
        }
    }
    private void UpdateFilters(Item.ItemTypes clickedBtnType, Loadout.LeftOrRight leftOrRight, int slotNumber)
    {
        List <LoadoutSlotBtn> currentButtons = GetCurrentLoadoutSlotBtns();
        bool foundActiveBtn = false;

        foreach (LoadoutSlotBtn button in currentButtons)
        {
            if (button.GetIsActive())
            {
                foundActiveBtn = true;
            }
        }
        if (foundActiveBtn)
        {
            currentFilters = new List <Item.ItemTypes>();
            currentFilters.Add(clickedBtnType);
        }
        else
        {
            InitialFilterSetup();
        }
    }
Beispiel #3
0
    public RunnerMod GetEquippedModByItemType(Item.ItemTypes itemType, Loadout.LeftOrRight leftOrRight)
    {
        switch (itemType)
        {
        case Item.ItemTypes.Arm:
            if (leftOrRight == Loadout.LeftOrRight.Left)
            {
                return(leftArm);
            }
            else
            {
                return(rightArm);
            }

        case Item.ItemTypes.Exoskeleton:
            return(exoskeletonMod);

        case Item.ItemTypes.Head:
            return(headMod);

        case Item.ItemTypes.Leg:
            if (leftOrRight == Loadout.LeftOrRight.Left)
            {
                return(leftLeg);
            }
            else
            {
                return(rightLeg);
            }

        case Item.ItemTypes.Torso:
            return(torsoMod);

        case Item.ItemTypes.Weapon:
            return(weapon);
        }
        // we shouldn't ever hit this...
        return(weapon);
    }