private void ExecuteActionsType(HeroActionType.Type actionType) { var actionsCounter = _actionsToExecute.Count; for (var i = 0; i < actionsCounter; ++i) { var action = _actionsToExecute[i]; if (action.Type != HeroActionType.Type.Move) { break; } action.Execute(); _actionsToExecute.RemoveAt(i); --actionsCounter; --i; } }
private void StartSimulatingAction(HeroActionType.Type actionType) { switch (actionType) { case HeroActionType.Type.Move: _moveSimulator.CanSimulate(OnSimulationFinished); break; case HeroActionType.Type.Attack: _attackSimulator.CanSimulate(OnSimulationFinished); break; case HeroActionType.Type.Ability: _abilitySimulator.CanSimulate(OnSimulationFinished); break; default: throw new ArgumentOutOfRangeException(nameof(actionType), actionType, null); } OnActionStartSimulation?.Invoke(); }
public void SetActionType(HeroActionType.Type actionType) { _actionType = actionType; }
public void SelectedHeroAction(HeroActionType.Type actionType) { _selectedHero?.StartSimulatingAction(actionType); EnableCanvas(false); }
public void StartSimulatingAction(HeroActionType.Type actionType) { OnStartSimulatingAction?.Invoke(actionType); }