withSIX.Play.Core.Games.Legacy.ServerQuery.ServerMapper.SetupGamespy C# (CSharp) Method

SetupGamespy() static private method

static private SetupGamespy ( IProfileExpression mapConfig ) : void
mapConfig IProfileExpression
return void
        static void SetupGamespy(IProfileExpression mapConfig) {
            mapConfig.CreateMap<GamespyServerQueryResult, Server>()
                .ForMember(x => x.IsDedicated,
                    opt => opt.ResolveUsing(src => GetValueWithFallback(src, "dedicated", "ds").TryInt() == 1))
                .ForMember(x => x.NumPlayers,
                    opt => opt.ResolveUsing(src => src.GetSettingOrDefault("numplayers").TryInt()))
                .ForMember(x => x.MaxPlayers,
                    opt => opt.ResolveUsing(src => src.GetSettingOrDefault("maxplayers").TryInt()))
                .ForMember(x => x.Difficulty,
                    opt => opt.ResolveUsing(src => GetValueWithFallback(src, "difficulty", "diff").TryInt()))
                .ForMember(x => x.GameState,
                    opt => opt.ResolveUsing(src => src.GetSettingOrDefault("gameState").TryInt()))
                .ForMember(x => x.VerifySignatures,
                    opt => opt.ResolveUsing(src => GetValueWithFallback(src, "verifySignatures", "verSig").TryInt()))
                .ForMember(x => x.SvBattleye,
                    opt => opt.ResolveUsing(src => GetValueWithFallback(src, "sv_battleye", "be").TryInt()))
                .ForMember(x => x.ReqBuild,
                    opt => opt.ResolveUsing(src => src.GetSettingOrDefault("reqBuild").TryIntNullable()))
                .ForMember(x => x.PasswordRequired,
                    opt => opt.ResolveUsing(src => src.GetSettingOrDefault("password").TryInt() > 0))
                .ForMember(x => x.Mission, opt => opt.ResolveUsing(src => src.GetSettingOrDefault("mission")))
                .ForMember(x => x.Island,
                    opt => opt.ResolveUsing(src => CapitalizeString(src.GetSettingOrDefault("mapname"))))
                .ForMember(x => x.GameType, opt => opt.ResolveUsing(src => {
                    var str = CapitalizeString(src.GetSettingOrDefault("gametype"));
                    return string.IsNullOrWhiteSpace(str) ? "Unknown" : str;
                }))
                .ForMember(x => x.GameName, opt => opt.ResolveUsing(src => src.GetSettingOrDefault("gamename")))
                .ForMember(x => x.GameVer,
                    opt => opt.ResolveUsing(src => GetVersion(src.GetSettingOrDefault("gamever"))))
                .ForMember(x => x.Signatures,
                    opt => opt.ResolveUsing(src => GetValueWithFallback(src, "signatures", "sig").TrySplit(';')))
                .AfterMap(GamespyAfterMap);
        }