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); }
private void UpdateBoardDamage() { var board = new BoardState(); PlayerDataGrid.ItemsSource = board.Player.Cards; OpponentDataGrid.ItemsSource = board.Opponent.Cards; PlayerHeader.Text = "Player " + board.Player; OpponentHeader.Text = "Opponent " + board.Opponent; DamageView.UpdateLayout(); }
private void UpdateBoardDamage() { if (Core.Game.Entities.Count < 67) { return; } var board = new BoardState(); PlayerDataGrid.ItemsSource = board.Player.Cards; OpponentDataGrid.ItemsSource = board.Opponent.Cards; PlayerHeader.Text = "Player " + board.Player; OpponentHeader.Text = "Opponent " + board.Opponent; DamageView.UpdateLayout(); }