Example #1
0
        public GameResult TranslateMatchToGame(Match match)
        {
            var result = new GameResult
            {
                Id          = match.GameId,
                Patch       = string.Join(".", match.GameVersion.Split('.').Take(2)),
                BlueTop     = GetChampionId(match, BLUE, "TOP", "SOLO"),
                BlueJungle  = GetChampionId(match, BLUE, "JUNGLE", "NONE"),
                BlueMid     = GetChampionId(match, BLUE, "MIDDLE", "SOLO"),
                BlueBottom  = GetChampionId(match, BLUE, "BOTTOM", "DUO_CARRY"),
                BlueSupport = GetChampionId(match, BLUE, "BOTTOM", "DUO_SUPPORT"),
                RedTop      = GetChampionId(match, RED, "TOP", "SOLO"),
                RedJungle   = GetChampionId(match, RED, "JUNGLE", "NONE"),
                RedMid      = GetChampionId(match, RED, "MIDDLE", "SOLO"),
                RedBottom   = GetChampionId(match, RED, "BOTTOM", "DUO_CARRY"),
                RedSupport  = GetChampionId(match, RED, "BOTTOM", "DUO_SUPPORT"),
            };
            var winner = match.Teams.FirstOrDefault(_ => _.Win == "Win");

            if (winner == null || result.AnyUnassignedRoles())
            {
                return(null);
            }

            result.Winner = winner.TeamId == 200;

            return(result);
        }