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(); } } }
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); }
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; }
void ReceiveInput(object sender, InputEventArgs e) { lastInputs = e; if (e.WasPressed("return")) { if (cutscenePromptInfo != null) { CutsceneController.EndTextPrompt(); } else if (activePrompt != null) { activePrompt.ContinuePrompt(); } } }