Exemplo n.º 1
0
 public GameState(IGameDataProvider gameDataProvider, GameStateEvents gameStateEvents)
 {
     gameDataProvider.Reset();
     _gameDataProvider = gameDataProvider;
     _gameStateEvents  = gameStateEvents;
     Entities          = new Dictionary <int, Entity>();
     PlayerEntities    = new Dictionary <int, PlayerEntity>();
     _modifiers        = new List <IGameStateModifier>();
     _creationTags     = new Queue <IGameStateModifier>();
     _initialQueue     = new Queue <IGameStateModifier>();
     _powerLog         = new List <string>();
     CreatedAt         = DateTime.Now;
     Modified         += gameStateEvents.OnGameStateChanged;
     SecretsManager    = new SecretsManager(this, gameStateEvents);
     LocalPlayer       = new Player(this, true);
     OpposingPlayer    = new Player(this, false);
     GameTime          = new GameTime();
     Task.Run(async() =>
     {
         while (MatchInfo == null || ServerInfo == null)
         {
             await Task.Delay(500);
         }
     });
 }
 // If your object changes state, this function should be called. It informs all observers by invoking the StateChanged delegate.
 protected virtual void OnStateChanged(GameStateEvents e)
 {
     if (StateChanged != null)
     {
         StateChanged(this, e);
     }
 }
Exemplo n.º 3
0
 public Game(IGameDataProvider gameDataProvider)
 {
     GameDataProvider            = gameDataProvider;
     Collection                  = new Collection();
     Account                     = new Account();
     Arena                       = new Arena();
     TavernBrawl                 = new TavernBrawl();
     GameStateEvents             = new GameStateEvents();
     GameStateEvents.BlockStart += OnBlockStart;
 }
Exemplo n.º 4
0
        public SecretsManager(IGameState gameState, GameStateEvents gameStateEvents)
        {
            _gameState    = gameState;
            _secretSolver = new SecretSolver(gameState);
            _secrets      = new List <Secret>();

            gameStateEvents.Attack     += OnAttack;
            gameStateEvents.CardPlayed += OnCardPlayed;
            gameStateEvents.MinionDied += OnDeath;
            gameStateEvents.TagChange  += OnTagChange;
            gameStateEvents.CardStolen += OnCardStolen;
        }
 // This function is called by the object when the object changes state.
 private void Object_StateChanged(object sender, GameStateEvents e)
 {
 }