Пример #1
0
    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);
    }
Пример #2
0
    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);
    }
Пример #3
0
 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);
     }
 }