public static void SetValue( this MultiplayerOptions.OptionType optionType, string value, MultiplayerOptions.MultiplayerOptionsAccessMode mode = MultiplayerOptions.MultiplayerOptionsAccessMode.CurrentMapOptions) { MultiplayerOptions.Instance.GetOptionFromOptionType(optionType, mode).UpdateValue(value); }
public static string GetStrValue( this MultiplayerOptions.OptionType optionType, MultiplayerOptions.MultiplayerOptionsAccessMode mode = MultiplayerOptions.MultiplayerOptionsAccessMode.CurrentMapOptions) { string str; MultiplayerOptions.Instance.GetOptionFromOptionType(optionType, mode).GetValue(out str); return(str); }
public static int GetIntValue( this MultiplayerOptions.OptionType optionType, MultiplayerOptions.MultiplayerOptionsAccessMode mode = MultiplayerOptions.MultiplayerOptionsAccessMode.CurrentMapOptions) { int num; MultiplayerOptions.Instance.GetOptionFromOptionType(optionType, mode).GetValue(out num); return(num); }
public void OnGameTypeChanged( MultiplayerOptions.MultiplayerOptionsAccessMode mode = MultiplayerOptions.MultiplayerOptionsAccessMode.CurrentMapOptions) { string str = ""; if (this.CurrentOptionsCategory == MultiplayerOptions.OptionsCategory.Default) { str = MultiplayerOptions.OptionType.GameType.GetStrValue(mode); } else if (this.CurrentOptionsCategory == MultiplayerOptions.OptionsCategory.ClanMatch) { str = MultiplayerOptions.OptionType.ClanMatchType.GetStrValue(mode); } if (!(str == "FreeForAll")) { if (!(str == "TeamDeathmatch")) { if (!(str == "Duel")) { if (!(str == "Siege")) { if (!(str == "Captain")) { if (str == "Skirmish") { this.InitializeForSkirmish(mode); } } else { this.InitializeForCaptain(mode); } } else { this.InitializeForSiege(mode); } } else { this.InitializeForDuel(mode); } } else { this.InitializeForTeamDeathmatch(mode); } } else { this.InitializeForFreeForAll(mode); } MultiplayerOptions.OptionType.Map.SetValue(this.GetMapList()[0]); }
private void InitializeForDuel( MultiplayerOptions.MultiplayerOptionsAccessMode mode) { MultiplayerOptions.OptionType.MaxNumberOfPlayers.SetValue(120, mode); MultiplayerOptions.OptionType.NumberOfBotsPerFormation.SetValue(0, mode); MultiplayerOptions.OptionType.FriendlyFireDamageMeleeSelfPercent.SetValue(0, mode); MultiplayerOptions.OptionType.FriendlyFireDamageMeleeFriendPercent.SetValue(0, mode); MultiplayerOptions.OptionType.FriendlyFireDamageRangedSelfPercent.SetValue(0, mode); MultiplayerOptions.OptionType.FriendlyFireDamageRangedFriendPercent.SetValue(0, mode); MultiplayerOptions.OptionType.SpectatorCamera.SetValue(0, mode); MultiplayerOptions.OptionType.MapTimeLimit.SetValue(MultiplayerOptions.OptionType.MapTimeLimit.GetMaximumValue(), mode); MultiplayerOptions.OptionType.RespawnPeriodTeam1.SetValue(3, mode); MultiplayerOptions.OptionType.RespawnPeriodTeam2.SetValue(3, mode); MultiplayerOptions.OptionType.GoldGainChangePercentageTeam1.SetValue(0, mode); MultiplayerOptions.OptionType.GoldGainChangePercentageTeam2.SetValue(0, mode); MultiplayerOptions.OptionType.AutoTeamBalanceThreshold.SetValue(0, mode); }
private MultiplayerOptions.MultiplayerOptionsContainer GetContainer( MultiplayerOptions.MultiplayerOptionsAccessMode mode = MultiplayerOptions.MultiplayerOptionsAccessMode.CurrentMapOptions) { switch (mode) { case MultiplayerOptions.MultiplayerOptionsAccessMode.CurrentMapOptions: return(this._current); case MultiplayerOptions.MultiplayerOptionsAccessMode.NextMapOptions: return(this._next); case MultiplayerOptions.MultiplayerOptionsAccessMode.MissionUIOptions: return(this._ui); default: return((MultiplayerOptions.MultiplayerOptionsContainer)null); } }
public static string GetValueText( this MultiplayerOptions.OptionType optionType, MultiplayerOptions.MultiplayerOptionsAccessMode mode = MultiplayerOptions.MultiplayerOptionsAccessMode.CurrentMapOptions) { switch (optionType.GetOptionProperty().OptionValueType) { case MultiplayerOptions.OptionValueType.Bool: return(optionType.GetBoolValue(mode).ToString()); case MultiplayerOptions.OptionValueType.Integer: case MultiplayerOptions.OptionValueType.Enum: return(optionType.GetIntValue(mode).ToString()); case MultiplayerOptions.OptionValueType.String: return(optionType.GetStrValue(mode)); default: return((string)null); } }
private void InitializeForSkirmish( MultiplayerOptions.MultiplayerOptionsAccessMode mode) { MultiplayerOptions.OptionType.MaxNumberOfPlayers.SetValue(12, mode); MultiplayerOptions.OptionType.NumberOfBotsPerFormation.SetValue(0, mode); MultiplayerOptions.OptionType.FriendlyFireDamageMeleeSelfPercent.SetValue(0, mode); MultiplayerOptions.OptionType.FriendlyFireDamageMeleeFriendPercent.SetValue(50, mode); MultiplayerOptions.OptionType.FriendlyFireDamageRangedSelfPercent.SetValue(0, mode); MultiplayerOptions.OptionType.FriendlyFireDamageRangedFriendPercent.SetValue(50, mode); MultiplayerOptions.OptionType.SpectatorCamera.SetValue(6, mode); MultiplayerOptions.OptionType.WarmupTimeLimit.SetValue(5, mode); MultiplayerOptions.OptionType.MapTimeLimit.SetValue(5, mode); MultiplayerOptions.OptionType.RoundTimeLimit.SetValue(420, mode); MultiplayerOptions.OptionType.RoundPreparationTimeLimit.SetValue(20, mode); MultiplayerOptions.OptionType.RoundTotal.SetValue(5, mode); MultiplayerOptions.OptionType.RespawnPeriodTeam1.SetValue(3, mode); MultiplayerOptions.OptionType.RespawnPeriodTeam2.SetValue(3, mode); MultiplayerOptions.OptionType.GoldGainChangePercentageTeam1.SetValue(0, mode); MultiplayerOptions.OptionType.GoldGainChangePercentageTeam2.SetValue(0, mode); MultiplayerOptions.OptionType.AutoTeamBalanceThreshold.SetValue(1, mode); }
public void EndPoll() { if (this._runningPollAcceptedCount >= (this._runningPoll is MultiplayerPollComponent.KickPlayer || this._runningPoll is MultiplayerPollComponent.BanPlayer ? (int)Math.Ceiling(((double)GameNetwork.NetworkPeerCount - 1.0) / 2.0) : (int)Math.Ceiling((double)GameNetwork.NetworkPeerCount / 2.0))) { if (this._runningPoll is MultiplayerPollComponent.KickPlayer) { MissionPeer component = ((MultiplayerPollComponent.KickPlayer) this._runningPoll).playerPeer.GetComponent <MissionPeer>(); if (component != null) { NetworkCommunicator networkPeer = component.GetNetworkPeer(); DisconnectInfo disconnectInfo = networkPeer.PlayerConnectionInfo.GetParameter <DisconnectInfo>("DisconnectInfo") ?? new DisconnectInfo(); disconnectInfo.Type = DisconnectType.KickedByPoll; networkPeer.PlayerConnectionInfo.AddParameter("DisconnectInfo", (object)disconnectInfo); GameNetwork.AddNetworkPeerToDisconnectAsServer(networkPeer); if (GameNetwork.IsDedicatedServer) { throw new NotImplementedException(); } NetworkMain.GameClient.KickPlayer(component.Peer.Id, false); } } else if (this._runningPoll is MultiplayerPollComponent.BanPlayer) { MissionPeer component = ((MultiplayerPollComponent.BanPlayer) this._runningPoll).playerPeer.GetComponent <MissionPeer>(); if (component != null) { NetworkCommunicator networkPeer = component.GetNetworkPeer(); DisconnectInfo disconnectInfo = networkPeer.PlayerConnectionInfo.GetParameter <DisconnectInfo>("DisconnectInfo") ?? new DisconnectInfo(); disconnectInfo.Type = DisconnectType.BannedByPoll; networkPeer.PlayerConnectionInfo.AddParameter("DisconnectInfo", (object)disconnectInfo); GameNetwork.AddNetworkPeerToDisconnectAsServer(networkPeer); if (GameNetwork.IsClient) { BannedPlayerManagerCustomGameClient.AddBannedPlayer(component.Peer.Id, GameNetwork.IsDedicatedServer ? -1 : Environment.TickCount + 600000); } else if (GameNetwork.IsDedicatedServer) { BannedPlayerManagerCustomGameServer.AddBannedPlayer(component.Peer.Id, component.GetPeer().UserName, GameNetwork.IsDedicatedServer ? -1 : Environment.TickCount + 600000); } if (GameNetwork.IsDedicatedServer) { throw new NotImplementedException(); } NetworkMain.GameClient.KickPlayer(component.Peer.Id, true); } } else if (this._runningPoll is MultiplayerPollComponent.ChangeGame) { MultiplayerPollComponent.ChangeGame runningPoll = (MultiplayerPollComponent.ChangeGame) this._runningPoll; MultiplayerOptions.MultiplayerOptionsAccessMode mode = MultiplayerOptions.MultiplayerOptionsAccessMode.NextMapOptions; MultiplayerOptions.OptionType.GameType.SetValue(runningPoll.GameType, mode); MultiplayerOptions.Instance.OnGameTypeChanged(mode); MultiplayerOptions.OptionType.Map.SetValue(runningPoll.MapName, mode); this._missionLobbyComponent.SetStateEndingAsServer(); } } this._runningPoll = (object)null; this._runningPollStartTime = new int?(); this._runningPollAcceptedCount = 0; this._runningPollRejectedCount = 0; this._runningPollVoted.Clear(); }
public MultiplayerOptions.MultiplayerOption GetOptionFromOptionType( MultiplayerOptions.OptionType optionType, MultiplayerOptions.MultiplayerOptionsAccessMode mode = MultiplayerOptions.MultiplayerOptionsAccessMode.CurrentMapOptions) { return(this.GetContainer(mode).GetOptionFromOptionType(optionType)); }