public void AfterGame(DB.Game gameResult)
        {
            var state = new GameState(this, gameResult);

            foreach (var player in _game.PlayersList)
            {
                CheckPoints(player);
                CheckRate(player);
                CheckGames(player);
                CheckStreaks(player);
                CheckDemoman(player);
                state.CheckAchievements(player);
            }
        }
            public GameState(AchievementAssigner assigner, DB.Game gameResult)
            {
                _manager    = assigner._manager;
                _gameResult = gameResult;
                if (_gameResult == null)
                {
                    return;
                }
                var game   = assigner._game;
                var winner = _gameResult.Winner;

                IsClearVictory = _gameResult.PlayersCount > 5 && winner != Team.None;
                foreach (var player in game.PlayersList)
                {
                    if (player.User.Id == 137234657623277568)
                    {
                        IsGameWithAuthor = true;
                    }
                    if (!player.IsAlive && player.Role.Team == winner)
                    {
                        IsClearVictory = false;
                    }
                }
            }