Ignore:
Timestamp:
Apr 18, 2015, 4:27:57 PM (10 years ago)
Author:
alloc
Message:

Binary improvements

File:
1 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/AllocsCommands/Commands/Reply.cs

    r224 r230  
    44namespace AllocsFixes.CustomCommands
    55{
    6         public class Reply : ConsoleCommand
     6        public class Reply : ConsoleCmdAbstract
    77        {
    8                 public Reply (ConsoleSdtd cons) : base(cons)
    9                 {
    10                 }
    11 
    12                 public override string Description ()
     8                public override string GetDescription ()
    139                {
    1410                        return "send a message to  the player who last sent you a PM";
    1511                }
    1612
    17                 public override string[] Names ()
     13                public override string[] GetCommands ()
    1814                {
    1915                        return new string[] { "reply", "re" };
    2016                }
    2117
    22                 private void SendMessage (ClientInfo _receiver, ClientInfo _sender, string _message)
     18                private void RunInternal (ClientInfo _sender, List<string> _params)
    2319                {
    24                         PrivateMassageConnections.SetLastPMSender (_sender, _receiver);
    25                         string senderName = CommonMappingFunctions.GetPlayerName (_sender);
    26 
    27                         _receiver.netConnection [0].AddToSendQueue (new NetPackage_GameInfoMessage (_message, senderName + " (PM)"));
    28                         string receiverName = CommonMappingFunctions.GetPlayerName (_receiver);
    29                         m_Console.SendResult ("Message to player " + (receiverName != null ? "\"" + receiverName + "\"" : "unknownName") + " sent with sender \"" + senderName + "\"");
    30                 }
    31 
    32                 private void RunInternal (ClientInfo _sender, string[] _params)
    33                 {
    34                         if (_params.Length < 1) {
    35                                 m_Console.SendResult ("Usage: reply <message>");
     20                        if (_params.Count < 1) {
     21                                SdtdConsole.Instance.Output ("Usage: reply <message>");
    3622                                return;
    3723                        }
    3824
    3925                        string message = _params [0];
    40                         for (int i = 1; i < _params.Length; i++) {
    41                                 message += " " + _params [i];
    42                         }
    4326
    4427                        ClientInfo receiver = PrivateMassageConnections.GetLastPMSenderForPlayer (_sender);
    45                         if (receiver != null && CommonMappingFunctions.GetClientID (receiver) >= 0) {
    46                                 SendMessage (receiver, _sender, message);
     28                        if (receiver != null && receiver.clientId >= 0) {
     29                                Chat.SendMessage (receiver, _sender, message);
    4730                        } else {
    4831                                if (receiver != null) {
    49                                         m_Console.SendResult ("The sender of the PM you last received is currently not online.");
     32                                        SdtdConsole.Instance.Output ("The sender of the PM you last received is currently not online.");
    5033                                } else {
    51                                         m_Console.SendResult ("You have not received a PM so far.");
     34                                        SdtdConsole.Instance.Output ("You have not received a PM so far.");
    5235                                }
    5336                        }
    5437                }
    5538
    56                 public override void ExecuteRemote (string _sender, string[] _params)
    57                 {
    58                         try {
    59                                 m_Console.SendResult (string.Format ("{0} executing remote command '{1}' {2}", _sender, this.Names () [0], string.Join (" ", _params)));
    60                                 ClientInfo ci = CommonMappingFunctions.GetClientInfoFromSteamID (_sender);
    61                                 RunInternal (ci, _params);
    62                         } catch (Exception e) {
    63                                 Log.Out ("Error in Reply.ExecuteRemote: " + e);
     39                public override void Execute (List<string> _params, CommandSenderInfo _senderInfo) {
     40                        if (_senderInfo.RemoteClientInfo == null) {
     41                                Log.Out ("Command \"reply\" can only be used on clients!");
     42                        } else {
     43                                RunInternal (_senderInfo.RemoteClientInfo, _params);
    6444                        }
    65                 }
    66 
    67                 public override void Run (string[] _params)
    68                 {
    69                         Log.Out ("Command \"reply\" can only be used on clients!");
    7045                }
    7146        }
Note: See TracChangeset for help on using the changeset viewer.