コード例 #1
0
ファイル: Running.cs プロジェクト: limered/LD45
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: Loading.cs プロジェクト: limered/LD45
 public override void Enter(StateContext <Game> context)
 {
     MessageBroker.Default.Receive <GameMsgFinishedLoading>()
     .Subscribe(loading => context.GoToState(new StartScreen()))
     .AddTo(this);
 }
コード例 #4
0
ファイル: Paused.cs プロジェクト: limered/LD45
 public override void Enter(StateContext <Game> context)
 {
     MessageBroker.Default.Receive <GameMsgUnpause>()
     .Subscribe(unpause => context.GoToState(new Running()))
     .AddTo(this);
 }
コード例 #5
0
ファイル: Moving.cs プロジェクト: limered/LD47
 public override void Enter(StateContext <FunnyMovementComponent> context)
 {
     Observable.Timer(TimeSpan.FromSeconds(3))
     .Subscribe(l => context.GoToState(new Standing()))
     .AddTo(this);
 }
コード例 #6
0
 public void Grow()
 {
     Context.GoToState(new BlowFishState.Growing(this));
 }