Beispiel #1
0
        private void Init(DiscordDosGame discordGame)
        {
            var replay = new Replay
            {
                GameStartDate = DateTime.UtcNow,
                Players       =
                    discordGame.Players.Select(p => new ReplayPlayer {
                    OrderId = p.OrderId, PlayerName = p.Name
                })
                    .ToList(),
                IsOngoing    = true,
                ChannelTitle = discordGame.Info.Channel.Name,
                GuildTitle   = discordGame.Info.ServerName,
                IsPublic     = discordGame.Config.PublishReplays
            };

            using var context = new DosDbContext();
            context.Replay.Add(replay);
            context.SaveChanges();

            replayId = replay.ReplayId;
        }
Beispiel #2
0
 public static void LogGame(DiscordDosGame game)
 {
     // ReSharper disable once ObjectCreationAsStatement
     new DbGameLogger(game);
 }
Beispiel #3
0
 public DbGameLogger(DiscordDosGame game) : base(game.Game)
 {
     discordDosGame = game;
     Init(game);
     game.Game.Events.Finished += OnGameFinished;
 }
 public async Task SendGameConfigAsync(DiscordDosGame game)
 {
     var message = "Current game configuration:\n" + game.Config.ToDiscordTable();
     await game.Info.Channel.SendMessageAsync(message);
 }