void _Packet(ScChatGroup p) { var black = moduleFriend.BlackList.Exists(a => a.roleId == p.sendId); if (black) { return; } ScChatGroup info = p.Clone(); string[] mes = info.tag.Split('/'); if (mes.Length < 5) { Logger.LogError("chat mes error"); return; } m_newUnionMes = true; if (m_unionChat.Count >= ChatNum) { m_unionChat.Dequeue(); } m_unionChat.Enqueue(info); DispatchModuleEvent(EventChatRecUnionMes, info); }
public ScChatGroup SetUnionSend(string content, int sysType)//systype (文字 图片 语音) { ScChatGroup p = PacketObject.Create <ScChatGroup>(); p.sendId = modulePlayer.id_; p.type = (sbyte)sysType; p.tag = ChatTag(); p.content = content; return(p); }
public void AddChatList(string str, bool addChat) { //110 系统 111 是公会 ScChatGroup p = PacketObject.Create <ScChatGroup>(); p.sendId = 111; p.type = 0; p.content = str; if (m_unionChat.Count > ChatNum) { m_unionChat.Dequeue(); } if (addChat) { m_unionChat.Enqueue(p); DispatchModuleEvent(EventChatRecUnionMes, p); } }
private void AddUnionMes(ScChatGroup union) { if (union == null) { return; } if (union.sendId == 111) { SysAdd(union.content); } else { if (string.IsNullOrEmpty(union.tag)) { Logger.LogError("no tag"); return; } if (union.sendId == modulePlayer.id_) { string[] unionMes = union.tag.Split('/'); if (unionMes.Length < 4) { return; } SetClone(true, union.type, union.content, union.sendId); } else { string[] unionMes = union.tag.Split('/'); if (unionMes.Length < 5) { return; } SetClone(false, union.type, union.content, modulePlayer.id_, unionMes); } } }
private void _ME(ModuleEvent <Module_Chat> e) { switch (e.moduleEvent) { case Module_Chat.EventChatRecWordMes: if (!word_mes.isOn) { return; } ScChatRoomMessage wordmes = e.msg as ScChatRoomMessage; string[] info = wordmes.tag.Split('/'); if (info.Length < 5) { return; } SetClone(false, wordmes.type, wordmes.content, wordmes.sendId, info); SetTipTxtShow(OpenWhichChat.WorldChat); break; case Module_Chat.EventChatRecSysMes: if (!sys_mes.isOn) { return; } string sysmes = e.param1.ToString(); SysAdd(sysmes); SetTipTxtShow(OpenWhichChat.SysChat); break; case Module_Chat.EventChatRecUnionMes: if (!m_unionBtn.isOn) { return; } ScChatGroup union = e.msg as ScChatGroup; AddUnionMes(union); SetTipTxtShow(OpenWhichChat.UnionChat); break; case Module_Chat.EventChatRecTeamMes: RecieveMsg(e.msg as ScChatPrivate); break; case Module_Chat.EventChatSendTeamMes: SendPrivateMsg(e.msg as CsChatPrivate); break; case Module_Chat.EventChatChangeRoom: int result = Util.Parse <int>(e.param1.ToString()); ChangeRoom(result); break; case Module_Chat.EventChatRoomList: roomchange_btn.interactable = true; roomchange_btn_txt.text = moduleChat.RoomChatNum.ToString(); room_all.text = moduleChat.Chat_list.Count.ToString(); break; case Module_Chat.EventChatPlayerDetails: var playerInfo = e.msg as PPlayerInfo; FriendDetailInfo playerDetail = m_detailPlane.GetComponentDefault <FriendDetailInfo>(); playerDetail.IsfriendDetails(playerInfo, true, SetInvate); m_detailPlane.gameObject.SetActive(true); break; case Module_Chat.EventChatWindowHide: if (actived) { Hide(true); } break; } }