public void onOpenChatWnd(SNSOpenChatWndMsgData data) { if (data == null) { return; } if ((data.SessionID <= 0) || (data.SessionID == LogicDataCenter.snsDataManager.MyBuddyInfo.Info.nUserID)) { Debug.LogError("打开聊天框失败, 传入的SessionID为0或为自己的UserID, nSessionID=" + data.SessionID); return; } // 保存旧的Session信息 if (CurSession != null) { CurSession.nCurHistoryPage = m_CurPage; } m_CurSessionID = data.SessionID; // 不存在对话 if (!m_SessionList.ContainsKey(m_CurSessionID)) { SNSSession session = new SNSSession(); session.SessionID = m_CurSessionID; session.nCurHistoryPage = 0; m_SessionList.Add(m_CurSessionID, session); } onUpdateView(); }
private void OnCallBack() { SNSOpenChatWndMsgData msgData = new SNSOpenChatWndMsgData(); msgData.msgID = (int)WndMsgID.WND_MSG_SNS_SHOW_CHAT_WND; msgData.SessionID = m_dwUserID; UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_SNS_SHOW_CHAT_WND, msgData); }
/// <summary> /// 双击好友,打开聊听窗口 /// </summary> public void openChatWnd() { if (ItemDepth > 0) { DataCenter.SNSDataManager.BuddyInfo buddyInfo = LogicDataCenter.snsDataManager.getBuddyInfoByUserID(Item.nUserID); SNSOpenChatWndMsgData msgData = new SNSOpenChatWndMsgData(); msgData.msgID = (int)WndMsgID.WND_MSG_SNS_SHOW_CHAT_WND; msgData.nSessionID = buddyInfo.Info.nUserID; UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_SNS_SHOW_CHAT_WND, msgData); } }
public override void OnPointerClick(PointerEventData eventData) { base.OnPointerClick(eventData); SNSOpenChatWndMsgData msgData = new SNSOpenChatWndMsgData(); msgData.msgID = (int)WndMsgID.WND_MSG_SNS_SHOW_CHAT_WND; msgData.SessionID = item.UserID; UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_SNS_SHOW_CHAT_WND, msgData); // 隐藏结果窗口 UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_SNS_HIDE_SEARCH_BUDDY_WND, null); }
public void onAddMsgData(SNSAddChatMsgData data) { if (data == null) { return; } long SessionID = data.SessionID; // 如果窗口已经打开了,则更新到窗口 if (IsVisible() && m_CurSessionID == SessionID) { m_CurSessionID = SessionID; onUpdateView(); } else // 如果窗口没打开,提示有新的消息 { // 新的聊听消息 DIDAAddData msg = new DIDAAddData(); msg.eLayout = EDIDALayout.EDT_Left; msg.nDIDATime = 60; msg.nItemID = (int)EDIDAType.EDIDA_Chat; msg.bAllowRepeatItem = true; msg.nButtonIconID = (int)EDIDAType.EDIDA_Chat; msg.strTooltip = ULocalizationService.Instance.Get("UIView", "SNS", "NewChatMsgDesc"); msg.bShowInWar = true; SNSNewChatMsgInfo newChatInfo = new SNSNewChatMsgInfo(); newChatInfo.SessionID = SessionID; msg.sCustomData = newChatInfo; msg.callBack = (CustomerInfo) => { // 显示聊天框 SNSOpenChatWndMsgData msgData = new SNSOpenChatWndMsgData(); msgData.msgID = (int)WndMsgID.WND_MSG_SNS_SHOW_CHAT_WND; msgData.SessionID = SessionID; UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_SNS_SHOW_CHAT_WND, msgData); }; LogicDataCenter.didaDataManager.AddItem(msg); // 添加DIDA到窗口缓存 DIDARemoveData removeMsg = new DIDARemoveData(); removeMsg.nItemID = msg.nItemID; removeMsg.sCustomData = newChatInfo; addNewMsgDIDA(SessionID, removeMsg); } }