Example #1
0
        public override void BattleStart()
        {
            base.BattleStart();
            var battleLogName = Path.Combine(LogProvider.LogPath, "BattleLog", $"battle-{DateTime.Now:yyyyMMddHHmmss}.log");

            Logger.Information($"BattleLog: {battleLogName}");
            _battleLogger = new LoggerConfiguration()
                            .Filter.ByExcluding(e =>
            {
                if (!e.Properties.ContainsKey("SourceContext"))
                {
                    return(true);
                }
                var ctx = ((Serilog.Events.ScalarValue)e.Properties["SourceContext"]).Value as string;
                if (string.IsNullOrWhiteSpace(ctx))
                {
                    return(true);
                }
                return(!(ctx.StartsWith("Robi.Clash.DefaultSelectors") || ctx.StartsWith("Robi.Engine.PerformanceTimer")));
            }).WriteTo.File(battleLogName).CreateLogger();
            LogProvider.AttachSink(_battleLogger);
        }
Example #2
0
        public override void BattleStart()
        {
            base.BattleStart();
            var battleLogName = Path.Combine(LogProvider.LogPath, "BattleLog", $"battle-{DateTime.Now:yyyyMMddHHmmss}.log");

            Logger.Debug($"BattleLog: {battleLogName}");
            _battleLogger = new LoggerConfiguration()
                            .Filter.ByExcluding(e =>
            {
                if (!e.Properties.ContainsKey("SourceContext"))
                {
                    return(true);
                }
                var ctx = ((Serilog.Events.ScalarValue)e.Properties["SourceContext"]).Value as string;
                if (string.IsNullOrWhiteSpace(ctx))
                {
                    return(true);
                }
                return(!(ctx.StartsWith("Robi.Clash.DefaultSelectors") || ctx.StartsWith("Robi.Engine.PerformanceTimer")));
            }).WriteTo.File(battleLogName, outputTemplate: "{Message}{NewLine}{Exception}").CreateLogger();
            LogProvider.AttachSink(_battleLogger);

            GameBeginning      = true;
            ownKingsTowerPos.X = -1;
            ownKingsTowerPos.Y = -1;
            friendlyOwnerIndex = -1;
            battleLogs.Clear();
            prevHandCards.Clear();
            nextGId = 0;

            statNumSuccessfulEntrances = 0;
            statTimeOutsideRoutine     = TimeSpan.Zero;
            statTimeInitPlayfield      = TimeSpan.Zero;
            statSumTimeOutsideRoutine  = TimeSpan.Zero;
            statSumTimeInitPlayfield   = TimeSpan.Zero;
            statSumTimeInsideBehavior  = TimeSpan.Zero;
            statTimerRoutine           = DateTime.Now;
        }