コード例 #1
0
        static void SourceAfterMap(ServerQueryResult src, Server dst) {
            dst.QueryMode = ServerQueryMode.Steam;

            var port = src.GetSettingOrDefault("port").TryInt();
            if (port > 0 && port < IPEndPoint.MaxPort)
                dst.SetServerAddress(port);

            if (src.IsMasterResult)
                return;

            if (!dst.ForceServerName || string.IsNullOrWhiteSpace(dst.Name))
                dst.Name = src.GetSettingOrDefault("name");

            dst.UpdatePing(src.Ping);

            var tags = src.GetSettingOrDefault("keywords");
            if (tags != null)
                new SourceTagParser(tags, dst).HandleTags();

            dst.Signatures = GetList(src.Settings, "sigNames").ToArray();
            dst.UpdateModInfo(GetList(src.Settings, "modNames").ToArray());
            dst.HasBasicInfo = true;
        }
コード例 #2
0
 public void Map(ServerQueryResult queryResult, Server existing) {
     MappingEngine.Map(queryResult, existing);
 }
コード例 #3
0
        static void GamespyAfterMap(ServerQueryResult src, Server dst) {
            dst.QueryMode = ServerQueryMode.Gamespy;
            if (!dst.ForceServerName || string.IsNullOrWhiteSpace(dst.Name))
                dst.Name = src.GetSettingOrDefault("hostname");

            dst.UpdatePing(src.Ping);
            dst.UpdateModInfo(src.GetSettingOrDefault("mod"));
            dst.HasBasicInfo = true;
        }