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; }
public static void LogGame(DiscordDosGame game) { // ReSharper disable once ObjectCreationAsStatement new DbGameLogger(game); }
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); }