public void SendRoomMessage(UInt32 roomId, String roleId, Message message) { if (!this.IsConnect) { UnityEngine.Debug.LogError("SendRoomMessage this.IsConnect == False"); return; } if (m_roleId.Length == 0) { UnityEngine.Debug.LogError("SendRoomMessage message:" + message.ClsName + " m_roleId == empty"); return; } var roomMessageReq = new pkt.protocols.RoomMessageReq(); roomMessageReq.clsId = message.ClsId; roomMessageReq.roomId = roomId; roomMessageReq.roleId = roleId; roomMessageReq.signId = message.SignId; try { var memoryStream = new System.IO.MemoryStream(); var binaryWriter = new System.IO.BinaryWriter(memoryStream, Encoding.ASCII); message.Serialize(binaryWriter); binaryWriter.Flush(); roomMessageReq.data = System.Text.Encoding.ASCII.GetString(memoryStream.ToArray()); binaryWriter.Close(); memoryStream.Close(); lock (m_sendMessages) { m_sendMessages.Enqueue(roomMessageReq); } } catch (Exception e) { UnityEngine.Debug.LogException(e); } }
public void SendRoomMessage(UInt32 roomId, String roleId, XLua.LuaTable message) { if (!this.IsConnect) { UnityEngine.Debug.LogError("SendRoomMessage this.IsConnect == False"); return; } var luaMessage = new FastNet.LocalMessage(message); var roomMessageReq = new pkt.protocols.RoomMessageReq(); roomMessageReq.clsId = luaMessage.luaTable.Get <String, UInt32>("ClsId"); roomMessageReq.roomId = roomId; roomMessageReq.roleId = roleId; roomMessageReq.signId = luaMessage.luaTable.Get <String, UInt32>("SignId"); try { var memoryStream = new System.IO.MemoryStream(); var binaryWriter = new System.IO.BinaryWriter(memoryStream, Encoding.ASCII); luaMessage.Serialize(binaryWriter); binaryWriter.Flush(); roomMessageReq.data = Encoding.ASCII.GetString(memoryStream.ToArray()); binaryWriter.Close(); memoryStream.Close(); lock (m_sendMessages) { m_sendMessages.Enqueue(roomMessageReq); } } catch (Exception e) { UnityEngine.Debug.LogException(e); } }