public override void Enter(StateContext <Game> context) { MessageBroker.Default.Receive <GameMsgEnd>() .Subscribe(end => context.GoToState(new GameOver())) .AddTo(this); MessageBroker.Default.Receive <GameMsgPause>() .Subscribe(pause => context.GoToState(new Paused())) .AddTo(this); }
public override void Enter(StateContext <Game> context) { MessageBroker.Default.Receive <GameMsgRestart>() .Subscribe(restart => context.GoToState(new StartScreen())) .AddTo(this); MessageBroker.Default.Receive <GameMsgStart>() .Subscribe(restart => context.GoToState(new Running())) .AddTo(this); }
public override void Enter(StateContext <Game> context) { MessageBroker.Default.Receive <GameMsgFinishedLoading>() .Subscribe(loading => context.GoToState(new StartScreen())) .AddTo(this); }
public override void Enter(StateContext <Game> context) { MessageBroker.Default.Receive <GameMsgUnpause>() .Subscribe(unpause => context.GoToState(new Running())) .AddTo(this); }
public override void Enter(StateContext <FunnyMovementComponent> context) { Observable.Timer(TimeSpan.FromSeconds(3)) .Subscribe(l => context.GoToState(new Standing())) .AddTo(this); }
public void Grow() { Context.GoToState(new BlowFishState.Growing(this)); }