bool HandleLoadCharInfoByUserID(NetCmdBase obj) { LC_Cmd_LoadCharListByUserID ncb = (LC_Cmd_LoadCharListByUserID)obj; if ((ncb.States & FishDataInfo.MsgBegin) != 0) { m_CharArrayList.Clear(); } for (int i = 0; i < ncb.Sum; ++i) { if (m_CharArrayList.ContainsKey(ncb.Array[i].SrcUserID)) { m_CharArrayList[ncb.Array[i].SrcUserID].Array.Add(ncb.Array[i]); } else { tagRoleCharArray pArray = new tagRoleCharArray(); pArray.SrcUserID = ncb.Array[i].SrcUserID; pArray.Array.Add(ncb.Array[i]); m_CharArrayList.Add(ncb.Array[i].SrcUserID, pArray); } } if ((ncb.States & FishDataInfo.MsgEnd) != 0) { //产生事件 m_CharList.Remove(ncb.SrcUserID);//已经获取了全部的数据 无须缓存列表了 tagCharContextChange pEvent = new tagCharContextChange(ncb.SrcUserID); MsgEventHandle.HandleMsg(pEvent); } return(true); }
bool HandleAddCharInfo(NetCmdBase obj) { LC_Cmd_SendCharInfo ncb = (LC_Cmd_SendCharInfo)obj; if (m_CharList.ContainsKey(ncb.MessageInfo.SrcUserID)) { m_CharList[ncb.MessageInfo.SrcUserID] = ncb.MessageInfo; } else { tagRoleCharInfo pInfo = new tagRoleCharInfo(); pInfo.DestUserID = ncb.MessageInfo.DestUserID; pInfo.LogTime = ncb.MessageInfo.LogTime; pInfo.MessageInfo = ncb.MessageInfo.MessageInfo; pInfo.SrcUserID = ncb.MessageInfo.SrcUserID; m_CharList.Add(ncb.MessageInfo.SrcUserID, pInfo); } if (m_CharArrayList.ContainsKey(ncb.MessageInfo.SrcUserID)) { m_CharArrayList[ncb.MessageInfo.SrcUserID].Array.Add(ncb.MessageInfo); } else { tagRoleCharArray pInfo = new tagRoleCharArray(); pInfo.SrcUserID = ncb.MessageInfo.SrcUserID; pInfo.Array.Add(ncb.MessageInfo); m_CharArrayList.Add(ncb.MessageInfo.SrcUserID, pInfo); } //产生事件 tagCharAddCharEvent pEvent = new tagCharAddCharEvent(ncb.MessageInfo); MsgEventHandle.HandleMsg(pEvent); return(true); }
public void UpdateChateInfo() { if (m_BaseWndObject == null || m_BaseWndObject.activeSelf != true) { return; } if (PlayerRole.Instance.RoleChar.m_CharArrayList.ContainsKey(m_UserID)) { tagRoleCharArray pChat = PlayerRole.Instance.RoleChar.m_CharArrayList[m_UserID]; for (byte i = 0; i < pChat.Array.Count; ++i) { AddMsg(pChat.Array[i]); } SaveChatLogInfo(); InitScrollView(); PlayerRole.Instance.RoleChar.ClearCharInfo(m_UserID); } }