Exemple #1
0
    public void ReceiveInput(object source, InputEventArgs eventArgs)
    {
        if (InputController.mode <= InputInfo.InputMode.UI)
        {
            if (eventArgs.WasPressed("inventory"))
            {
                if (_activeMenu == null || _activeMenu == Inventory)
                {
                    ToggleInventory();
                }
            }
            else if (eventArgs.WasPressed("mainmenu"))
            {
                // If possible, deactivate other menu instead of activate main menu
                if (_activeMenu != null && _activeMenu != MainMenu)
                {
                    ToggleInventory();
                }
                else
                {
                    MainMenu.SetActive(!MainMenu.activeSelf);
                }
                // Update active menu
                _activeMenu = MainMenu.activeSelf ? MainMenu : null;
            }

            InputController.mode = _activeMenu ? InputInfo.InputMode.UI : InputInfo.InputMode.Free;
        }
    }
    public void ReceiveInput(object sender, InputEventArgs e)
    {
        if (InputController.mode == InputInfo.InputMode.Free)
        {
            // Hotkey functionality
            if (e.WasPressed("equip"))
            {
                var newEquipped = e.GetTrigger("equip");
                if (newEquipped != "")
                {
                    activeCharacter.TryItemEquip(int.Parse(newEquipped) - 1);
                }
            }

            // Inputs prioritized as such (by order of check):
            // Attacking, Walking, Switching character
            activeCharacter.Quicken(e.IsHeld("quicken"));
            activeCharacter.Slowen(e.IsHeld("slowen"));

            // See if a direction was input and log it
            var dirChosen = false;
            var dirActive = new bool[4];
            var dirTapped = new bool[4];
            for (var i = 0; i < directions.Length; i++)
            {
                dirTapped [i] = e.WasPressed(directions [i]);
                dirActive [i] = dirTapped [i] || e.IsHeld(directions [i]);
                dirChosen     = dirChosen || dirActive [i] || dirTapped [i];
            }
            activeCharacter.SetDirections(dirActive, dirTapped);

            if (e.WasPressed("attack"))
            {
                activeCharacter.TryInteracting();
            }
            if (e.IsHeld("attack"))
            {
                activeCharacter.TryAttacking();
            }
            else if (e.IsHeld("defend"))
            {
                activeCharacter.TryBlocking();
            }
            // Most likely going to filter out a seperate interact button altogether

            /*else if (e.WasPressed("interact"))
             * {
             *  activeCharacter.TryInteracting();
             * }*/
            else if (e.WasPressed("switch character") && activeCharacter.CanSwitchFrom())
            {
                SwitchActiveCharacters();
            }
            else if (dirChosen)
            {
                activeCharacter.TryWalk();
            }
        }
    }
Exemple #3
0
    bool AnyInputsRegistered(InputEventArgs e)
    {
        int numOrs = 0;

        if (orPressed)
        {
            return(true);
        }
        for (int i = 0; i < orInputNames.Length; i++)
        {
            if (orPromptKeys [i] != promptIndex)
            {
                continue;
            }
            numOrs++;
            if (e.WasPressed(orInputNames [i]))
            {
                orPressed = true;
                return(true);
            }
        }
        // If no ors encountered, return true.
        // Otherwise, getting this far means you didn't meet or requirements, so return false
        return(numOrs == 0);
    }
Exemple #4
0
    bool AllInputsRegistered(InputEventArgs e)
    {
        bool allInputed = true;

        if (e == null)
        {
            return(andPressed);
        }
        for (int i = 0; i < andInputNames.Length; i++)
        {
            if (andPromptKeys [i] != promptIndex)
            {
                continue;
            }
            if (e.WasPressed(andInputNames [i]))
            {
                andsPressed [i] = true;
            }
            else if (!andsPressed[i])
            {
                allInputed = false;
            }
        }
        if (allInputed)
        {
            andPressed = true;
        }
        return(allInputed);
    }
 public void ReceiveInput(object source, InputEventArgs eventArgs)
 {
     if (!eventArgs.WasPressed("equip"))
     {
         return;
     }
     selectedOverlay.transform.position = _slots[PlayerController.activeCharacter.inv.itemSlotEquipped].transform.position;
 }
Exemple #6
0
 void ReceiveInput(object sender, InputEventArgs e)
 {
     lastInputs = e;
     if (e.WasPressed("return"))
     {
         if (cutscenePromptInfo != null)
         {
             CutsceneController.EndTextPrompt();
         }
         else if (activePrompt != null)
         {
             activePrompt.ContinuePrompt();
         }
     }
 }