public GameStateMachine(Guid gameId, IGameRules gameRules, PlanetWarsServer planetWarsServer)
 {
     GameId                = gameId;
     CreatedAt             = DateTimeOffset.Now;
     InternalLogger        = new InternalLogger();
     this.gameRules        = gameRules;
     this.planetWarsServer = planetWarsServer;
     attacker              = new GameStateMachinePlayer(planetWarsServer.Settings, playerId: 0, ApiPlayerRole.Attacker, InternalLogger, cts.Token);
     defender              = new GameStateMachinePlayer(planetWarsServer.Settings, playerId: 1, ApiPlayerRole.Defender, InternalLogger, cts.Token);
     players               = new[] { attacker, defender };
     gameStats             = new ApiGameStats
     {
         GameType = gameRules.GameType,
         GameId   = GameId,
         Status   = ApiGameStatus.New,
         Tick     = -1,
         Players  = new[] { defender.Stats, attacker.Stats },
     };
 }
示例#2
0
 public ApiGameResults(ApiGameStats gameStats, string?fatalException, string[]?internalLog)
 {
     GameStats      = gameStats;
     FatalException = fatalException;
     InternalLog    = internalLog;
 }