public void ReceiveTalk(GCChat msg) { ENUM_CHAT_TYPE chatType = (ENUM_CHAT_TYPE)msg.ChatType; string name = EncodeUtility.Instance.GetUnicodeString(msg.SourName) + ":"; string text = Encoding.UTF8.GetString(msg.Contex); // 删除不必要的多余字符 string showText = (name + text).Replace("\0", ""); if (chatType == ENUM_CHAT_TYPE.CHAT_TYPE_NORMAL) { ShowChat(showText, chatType); CObject_Character talker = (CObject_Character)CObjectManager.Instance.FindServerObject((int)msg.SourObject); talker.ShowTalk(text); } else if (chatType == ENUM_CHAT_TYPE.CHAT_TYPE_TELL)//私聊 { ShowChat(showText, chatType); } }
void ShowChat(string msg, ENUM_CHAT_TYPE chatType) { Color color = Color.black; switch (chatType) { case ENUM_CHAT_TYPE.CHAT_TYPE_NORMAL: color = Color.white; break; case ENUM_CHAT_TYPE.CHAT_TYPE_SYSTEM: color = Color.red; break; case ENUM_CHAT_TYPE.CHAT_TYPE_TELL: color = new Color(1.0f, 0.65f, 0.0f, 1.0f); break; } CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_INFO_SELF, color + msg); }
ENUM_CHAT_TYPE mCurrentChatType = ENUM_CHAT_TYPE.CHAT_TYPE_NORMAL;//当前的聊天类型 public void SetChatType(ENUM_CHAT_TYPE type) { mCurrentChatType = type; }