void Start() { actionSelectedEvent = new ActionSelectedEvent(); attackSelectedEvent = new AttackSelectedEvent(); spAttackSelectedEvent = new SpAttackSelectedEvent(); exAttackSelectedEvent = new ExAttackSelectedEvent(); guardSelectedEvent = new GuardSelectedEvent(); itemSelectedEvent = new ItemSelectedEvent(); runAwayEvent = new RunAwayEvent(); restartGameEvent = new RestartGameEvent(); }
private void OnActionSelected(ActionSelectedEvent e) { if (this == null) { return; } this.UpdateIcons(false); this.UpdateLimbs(); this.UpdateOutline(); this.CloseSelectors(); }
/// <summary> /// Handles any actions that occurs after the enter key is pressed. /// </summary> private void EnterKeyPressed() { // If the player is in the command panel if (!_uiStateTracker.IsInActionPanel && !_uiStateTracker.IsInFormationPanel && !_uiStateTracker.IsInCategoryPanel && !_uiStateTracker.IsInCharacterPanel) { switch ((Commands)_uiStateTracker.CommandFocusNumber) { case Commands.Attack: _uiStateTracker.IsInActionPanel = true; _uiStateTracker.IsInCommandPanel = false; UpdateActionListEvent?.Invoke(this, new UpdateActionListEventArgs() { CommandFocus = (Commands)_uiStateTracker.CommandFocusNumber, CategoryName = _uiStateTracker.ActiveCategory }); break; case Commands.Spells: case Commands.Skills: case Commands.Items: if (_uiStateTracker.CategoryItemCount > 0) { _uiStateTracker.IsInCategoryPanel = true; _uiStateTracker.IsInCommandPanel = false; } break; case Commands.Status: _uiStateTracker.IsInFormationPanel = true; _uiStateTracker.IsInCommandPanel = false; _uiStateTracker.IsInStatusCommand = true; int?position = _uiCharacterManager.GetPositionOfCharacter(_uiStateTracker.ActiveCharacterId); if (position == null) { throw new Exception("Active character was not found in UICharacterManager."); } else { _uiStateTracker.CurrentTargetPosition = position.GetValueOrDefault(); _uiStateTracker.CurrentTargetPositions = new List <int>() { position.GetValueOrDefault() }; _uiStateTracker.ActiveAction.CanSwitchTargetPosition = true; _uiStateTracker.ActiveAction.CanTargetThroughUnits = true; _uiStateTracker.ActiveAction.CenterOfTargets = 5; _uiStateTracker.ActiveAction.TargetPositions = new List <int>() { 5 }; _uiStateTracker.IsInStatusCommand = true; } break; case Commands.Wait: ActionStartedEvent?.Invoke(this, new ActionStartedEventArgs() { ActionType = Commands.Wait, CategoryName = "", ActionIndex = -1, TargetPosition = 0 }); break; } } // If the player is in the formation panel, start an action else if (_uiStateTracker.IsInFormationPanel && !_uiStateTracker.IsInStatusCommand) { var target = _uiStateTracker.CurrentTargetPosition; ActionStartedEvent?.Invoke(this, new ActionStartedEventArgs() { ActionType = (Commands)_uiStateTracker.CommandFocusNumber, CategoryName = _uiStateTracker.ActiveCategory, ActionIndex = _uiStateTracker.ActionFocusNumber - 1, TargetPosition = target }); } else if (_uiStateTracker.IsInStatusCommand && !_uiStateTracker.IsInCharacterPanel) { if (_uiCharacterManager.CharacterInPositionExists(_uiStateTracker.CurrentTargetPosition)) { _uiStateTracker.IsInCharacterPanel = true; _uiStateTracker.IsInFormationPanel = false; } } // If the player is in the action panel, switch to the formation panel else if (_uiStateTracker.IsInActionPanel) { switch ((Commands)_uiStateTracker.CommandFocusNumber) { case Commands.Attack: case Commands.Spells: case Commands.Skills: case Commands.Items: _uiStateTracker.IsInFormationPanel = true; _uiStateTracker.IsInActionPanel = false; ActionSelectedEvent?.Invoke(this, new ActionSelectedEventArgs() { CommandFocus = (Commands)_uiStateTracker.CommandFocusNumber, CategoryName = _uiStateTracker.ActiveCategory, ActionFocusNumber = _uiStateTracker.ActionFocusNumber }); break; default: break; } } else if (_uiStateTracker.IsInCategoryPanel) { // Get all spells or skills in category UpdateActionListEvent?.Invoke(this, new UpdateActionListEventArgs() { CommandFocus = (Commands)_uiStateTracker.CommandFocusNumber, CategoryName = _uiStateTracker.ActiveCategory }); _uiStateTracker.IsInActionPanel = true; _uiStateTracker.IsInCategoryPanel = false; } }
public void SelectObjective(ActionSelectedEvent evento) { Debug.Log("Waiting for Selection ==> true"); ScreenLog.log.AddEvent("ElegĂ tu objetivo..."); _waitingForSelection = true; }
void ActionSelected(ActionSelectedEvent evento) { _waitingAction = false; }