Exemple #1
0
        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();
        }
Exemple #3
0
 public void SetActionType(HeroActionType.Type actionType)
 {
     _actionType = actionType;
 }
Exemple #4
0
 public void SelectedHeroAction(HeroActionType.Type actionType)
 {
     _selectedHero?.StartSimulatingAction(actionType);
     EnableCanvas(false);
 }
Exemple #5
0
 public void StartSimulatingAction(HeroActionType.Type actionType)
 {
     OnStartSimulatingAction?.Invoke(actionType);
 }