Beispiel #1
0
 public override void Compose(List <State> states)
 {
     base.Compose(states);
     this.Wave.StateMachine = this;
     Wave.WaveComplete      = new StateTransition("WaveComplete", Wave, WaitForNextWave);
     Wave.PlayerDied        = new StateTransition("PlayerDied", Wave, GameOver);
     Wave.AddTrigger(WaveComplete, Wave.WaveComplete);
     Wave.AddTrigger(PlayerDied, Wave.PlayerDied);
     states.Add(Wave);
     this.GameOver.StateMachine = this;
     GameOver.OnRetry           = new StateTransition("OnRetry", GameOver, WaitForNextWave);
     GameOver.AddTrigger(OnRetry, GameOver.OnRetry);
     states.Add(GameOver);
     this.WaitForNextWave.StateMachine = this;
     WaitForNextWave.NextWaveReady     = new StateTransition("NextWaveReady", WaitForNextWave, Wave);
     WaitForNextWave.AddTrigger(NextWaveReady, WaitForNextWave.NextWaveReady);
     states.Add(WaitForNextWave);
 }