コード例 #1
0
ファイル: StateSequencer.cs プロジェクト: kitatas/Kakomi
        public StateSequencer(IGameStateUseCase gameStateUseCase, ReadyView readyView, DrawView drawView,
                              AttackView attackView, DamageView damageView, ClearView clearView, FailView failView)
        {
            _states = new List <BaseState>
            {
                readyView,
                drawView,
                attackView,
                damageView,
                clearView,
                failView,
            };

            _disposable  = new CompositeDisposable();
            _tokenSource = new CancellationTokenSource();

            foreach (var state in _states)
            {
                state.InitAsync(_tokenSource.Token).Forget();
            }

            _gameStateUseCase = gameStateUseCase;
            _gameStateUseCase.GameState()
            .Subscribe(gameState =>
            {
                Reset(gameState);
                TickAsync(gameState, _tokenSource.Token).Forget();
            })
            .AddTo(_disposable);
        }
コード例 #2
0
ファイル: Controller.cs プロジェクト: Laumania/WeAreBugs-XNA
 private void ShowReadyScreen()
 {
     _readyView          = new ReadyView();
     _readyView.Clicked += new EventHandler(_readyView_Clicked);
     _page.LayoutRoot.Children.Add(_readyView);
     _gameModel.SetState(new ReadyState(_gameModel));
 }