public MultiplayerOptions()
        {
            this._current = new MultiplayerOptions.MultiplayerOptionsContainer();
            this._next    = new MultiplayerOptions.MultiplayerOptionsContainer();
            this._ui      = new MultiplayerOptions.MultiplayerOptionsContainer();
            MultiplayerOptions.MultiplayerOptionsContainer container = this.GetContainer();
            for (MultiplayerOptions.OptionType optionType = MultiplayerOptions.OptionType.ServerName; optionType < MultiplayerOptions.OptionType.NumOfSlots; ++optionType)
            {
                container.CreateOption(optionType);
            }
            List <MultiplayerGameTypeInfo> multiplayerGameTypes = Module.CurrentModule.GetMultiplayerGameTypes();

            if (multiplayerGameTypes.Count > 0)
            {
                MultiplayerGameTypeInfo multiplayerGameTypeInfo = multiplayerGameTypes[0];
                container.UpdateOptionValue(MultiplayerOptions.OptionType.GameType, multiplayerGameTypeInfo.GameType);
                container.UpdateOptionValue(MultiplayerOptions.OptionType.ClanMatchType, multiplayerGameTypes.First <MultiplayerGameTypeInfo>((Func <MultiplayerGameTypeInfo, bool>)(info => info.GameType == "Skirmish")).GameType);
                container.UpdateOptionValue(MultiplayerOptions.OptionType.Map, multiplayerGameTypeInfo.Scenes.First <string>());
            }
            container.UpdateOptionValue(MultiplayerOptions.OptionType.CultureTeam1, MBObjectManager.Instance.GetObjectTypeList <BasicCultureObject>()[0].StringId);
            container.UpdateOptionValue(MultiplayerOptions.OptionType.CultureTeam2, MBObjectManager.Instance.GetObjectTypeList <BasicCultureObject>()[2].StringId);
            container.UpdateOptionValue(MultiplayerOptions.OptionType.MaxNumberOfPlayers, 120);
            container.UpdateOptionValue(MultiplayerOptions.OptionType.MinNumberOfPlayersForMatchStart, 1);
            container.UpdateOptionValue(MultiplayerOptions.OptionType.WarmupTimeLimit, 5);
            container.UpdateOptionValue(MultiplayerOptions.OptionType.MapTimeLimit, 30);
            container.UpdateOptionValue(MultiplayerOptions.OptionType.RoundTimeLimit, 120);
            container.UpdateOptionValue(MultiplayerOptions.OptionType.RoundPreparationTimeLimit, 10);
            container.UpdateOptionValue(MultiplayerOptions.OptionType.RoundTotal, 20);
            container.UpdateOptionValue(MultiplayerOptions.OptionType.RespawnPeriodTeam1, 3);
            container.UpdateOptionValue(MultiplayerOptions.OptionType.RespawnPeriodTeam2, 3);
            container.UpdateOptionValue(MultiplayerOptions.OptionType.MinScoreToWinMatch, 120000);
            container.UpdateOptionValue(MultiplayerOptions.OptionType.AutoTeamBalanceThreshold, 0);
            this._current.CopyAllValuesTo(this._next);
            this._current.CopyAllValuesTo(this._ui);
        }
        public List <string> GetMapList()
        {
            MultiplayerGameTypeInfo multiplayerGameTypeInfo = (MultiplayerGameTypeInfo)null;

            if (this.CurrentOptionsCategory == MultiplayerOptions.OptionsCategory.Default)
            {
                multiplayerGameTypeInfo = MultiplayerGameTypes.GetGameTypeInfo(MultiplayerOptions.OptionType.GameType.GetStrValue());
            }
            else if (this.CurrentOptionsCategory == MultiplayerOptions.OptionsCategory.ClanMatch)
            {
                multiplayerGameTypeInfo = MultiplayerGameTypes.GetGameTypeInfo(MultiplayerOptions.OptionType.ClanMatchType.GetStrValue());
            }
            List <string> stringList = new List <string>();

            stringList.Clear();
            if (multiplayerGameTypeInfo.Scenes.Count > 0)
            {
                stringList.Add(multiplayerGameTypeInfo.Scenes[0]);
                MultiplayerOptions.OptionType.Map.SetValue(stringList[0]);
            }
            return(stringList);
        }