Example #1
0
        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);
        }
Example #2
0
 private void Construct(GameType gameType, SeController seController, SceneLoader sceneLoader,
                        ClearView clearView, FreePlayNextView freePlayNextView, IClearDataUseCase clearDataUseCase)
 {
     _gameType         = gameType;
     _seController     = seController;
     _sceneLoader      = sceneLoader;
     _clearView        = clearView;
     _freePlayNextView = freePlayNextView;
     _clearDataUseCase = clearDataUseCase;
 }