Beispiel #1
0
 public static void SetValue(
     this MultiplayerOptions.OptionType optionType,
     string value,
     MultiplayerOptions.MultiplayerOptionsAccessMode mode = MultiplayerOptions.MultiplayerOptionsAccessMode.CurrentMapOptions)
 {
     MultiplayerOptions.Instance.GetOptionFromOptionType(optionType, mode).UpdateValue(value);
 }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
            }
        }
Beispiel #7
0
        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);
 }
Beispiel #9
0
 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));
 }