public void Handle(BinaryReader reader, int playerNumber)
 {
     // 如果在服务器端
     if (Main.netMode == 2)
     {
         var           player = Main.player[playerNumber].GetServerPlayer();
         MailsHeadInfo info   = new MailsHeadInfo();
         foreach (var mail in player.MailList)
         {
             info.Mails.Add(mail.MailHead);
         }
         ModPacket p = ServerSideCharacter2.Instance.GetPacket();
         p.Write((int)SSCMessageType.MailGetHeads);
         p.Write(info.GetJson());
         p.Send(playerNumber);
         Utils.CommandBoardcast.ConsoleMessage("收到玩家请求查看邮件列表");
     }
     else
     {
         var           str  = reader.ReadString();
         MailsHeadInfo info = new MailsHeadInfo();
         info = JsonConvert.DeserializeObject <MailsHeadInfo>(str);
         // 同步到UI
         lock (MailPageState.Instance)
         {
             MailPageState.Instance.AppendMailList(info);
         }
     }
 }
Exemplo n.º 2
0
 public void SendMailList()
 {
     if (RealPlayer && ConnectionAlive)
     {
         MailsHeadInfo info = new MailsHeadInfo();
         foreach (var mail in MailList)
         {
             info.Mails.Add(mail.MailHead);
         }
         ModPacket p = ServerSideCharacter2.Instance.GetPacket();
         p.Write((int)SSCMessageType.MailGetHeads);
         p.Write(info.GetJson());
         p.Send(playerID);
     }
 }