public byte[] chat; //内容 public static Package GeneratePackage(uint actorID, uint accepterActorID, string accepterName, string chat, byte chatType, Chat.ChatDefine define) { Package pkg = new Package(); pkg.Head = new PkgHead((byte)MasterMsgType.NET_ROOT_CHAT, (short)define); SMsgChat_CS sMsgChat = new SMsgChat_CS(); sMsgChat.dwActorID = actorID; sMsgChat.bChatType = chatType; sMsgChat.accepterName = new byte[19]; System.Text.Encoding.UTF8.GetBytes(accepterName).CopyTo(sMsgChat.accepterName, 0); sMsgChat.dwAccepterActorID = accepterActorID; sMsgChat.chat = System.Text.Encoding.UTF8.GetBytes(chat); sMsgChat.buffLen = (uint)(sMsgChat.chat.Length); //组包 List <byte> data = new List <byte>(); data.AddRange(BitConverter.GetBytes(sMsgChat.dwActorID)); data.Add(sMsgChat.bChatType); data.AddRange(BitConverter.GetBytes(sMsgChat.buffLen)); data.AddRange(BitConverter.GetBytes(sMsgChat.dwAccepterActorID)); data.AddRange(sMsgChat.accepterName); data.AddRange(sMsgChat.chat); //打包 pkg.Data = data.ToArray(); return(pkg); }
/// <summary> /// 私聊信息 /// </summary> /// <param name="actorID">Actor I.</param> /// <param name="accepterActorID">Accepter actor I.</param> /// <param name="accepterName">Accepter name.</param> /// <param name="chat">Chat.</param> /// <param name="chatType">Chat type.</param> /// <param name="define">Define.</param> public void SendChat(uint actorID, uint accepterActorID, string accepterName, string chat, byte chatType, Chat.ChatDefine define) { //统一此处过滤敏感字符 chat = CommonDefineManager.Instance.IllegalCharacterConfig.ReplaceCharacter(chat); Package package = SMsgChat_CS.GeneratePackage(actorID, accepterActorID, accepterName, chat, chatType, define); this.Request(package); }