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); }