Example #1
0
 public EnemyEntityFSM()
 {
     CurrentState = EnemyEntityState.Iddle;
     transitions = new Dictionary<StateTransition, EnemyEntityState>
     {
         { new StateTransition(EnemyEntityState.Iddle, EnemyCommand.Chase), EnemyEntityState.Chasing },
         { new StateTransition(EnemyEntityState.Iddle, EnemyCommand.Jump), EnemyEntityState.Jumping },
         { new StateTransition(EnemyEntityState.Iddle, EnemyCommand.Attack), EnemyEntityState.Attacking },
         { new StateTransition(EnemyEntityState.Iddle, EnemyCommand.Die), EnemyEntityState.Dead },
         { new StateTransition(EnemyEntityState.Chasing, EnemyCommand.Attack), EnemyEntityState.Attacking },
         { new StateTransition(EnemyEntityState.Chasing, EnemyCommand.Jump), EnemyEntityState.Jumping },
         { new StateTransition(EnemyEntityState.Chasing, EnemyCommand.Stop), EnemyEntityState.Iddle },
         { new StateTransition(EnemyEntityState.Chasing, EnemyCommand.Die), EnemyEntityState.Dead },
         { new StateTransition(EnemyEntityState.Jumping, EnemyCommand.Stop), EnemyEntityState.Iddle },
         { new StateTransition(EnemyEntityState.Jumping, EnemyCommand.Die), EnemyEntityState.Dead },
         { new StateTransition(EnemyEntityState.Attacking, EnemyCommand.Stop), EnemyEntityState.Iddle },
         { new StateTransition(EnemyEntityState.Attacking, EnemyCommand.Die), EnemyEntityState.Dead },
     };
 }
Example #2
0
 public EnemyEntityFSM()
 {
     CurrentState = EnemyEntityState.Iddle;
     transitions  = new Dictionary <StateTransition, EnemyEntityState>
     {
         { new StateTransition(EnemyEntityState.Iddle, EnemyCommand.Chase), EnemyEntityState.Chasing },
         { new StateTransition(EnemyEntityState.Iddle, EnemyCommand.Jump), EnemyEntityState.Jumping },
         { new StateTransition(EnemyEntityState.Iddle, EnemyCommand.Attack), EnemyEntityState.Attacking },
         { new StateTransition(EnemyEntityState.Iddle, EnemyCommand.Die), EnemyEntityState.Dead },
         { new StateTransition(EnemyEntityState.Chasing, EnemyCommand.Attack), EnemyEntityState.Attacking },
         { new StateTransition(EnemyEntityState.Chasing, EnemyCommand.Jump), EnemyEntityState.Jumping },
         { new StateTransition(EnemyEntityState.Chasing, EnemyCommand.Stop), EnemyEntityState.Iddle },
         { new StateTransition(EnemyEntityState.Chasing, EnemyCommand.Die), EnemyEntityState.Dead },
         { new StateTransition(EnemyEntityState.Jumping, EnemyCommand.Stop), EnemyEntityState.Iddle },
         { new StateTransition(EnemyEntityState.Jumping, EnemyCommand.Die), EnemyEntityState.Dead },
         { new StateTransition(EnemyEntityState.Attacking, EnemyCommand.Stop), EnemyEntityState.Iddle },
         { new StateTransition(EnemyEntityState.Attacking, EnemyCommand.Die), EnemyEntityState.Dead },
     };
 }
Example #3
0
 public EnemyEntityState MoveNext(EnemyCommand command)
 {
     CurrentState = GetNext(command);
     return CurrentState;
 }
Example #4
0
 public StateTransition(EnemyEntityState currentState, EnemyCommand command)
 {
     CurrentState = currentState;
     Command = command;
 }
Example #5
0
 public EnemyEntityState MoveNext(EnemyCommand command)
 {
     CurrentState = GetNext(command);
     return(CurrentState);
 }
Example #6
0
 public StateTransition(EnemyEntityState currentState, EnemyCommand command)
 {
     CurrentState = currentState;
     Command      = command;
 }