Beispiel #1
0
    //传送类消息取单个数据
    public PushMsg GetPushMsg(PushMsg.MsgType type, uint sender_id = 0)
    {
        if (IsPushMessageRightPos(type))
        {
            if (m_dicInviteMsg.ContainsKey(type))
            {
                if (m_dicInviteMsg[type].Count > 0)
                {
                    return(m_dicInviteMsg[type][m_dicInviteMsg[type].Count - 1]);
                }
            }
        }
        else
        {
            if (M_dicTransmitMsg.ContainsKey(type))
            {
                if (M_dicTransmitMsg[type].Count > 0)
                {
                    if (M_dicTransmitMsg[type].ContainsKey(sender_id))
                    {
                        return(M_dicTransmitMsg[type][sender_id]);
                    }
                }
            }
        }

        return(null);
    }
Beispiel #2
0
 public void RemoveTransmitMsg(PushMsg msg)
 {
     if (M_dicTransmitMsg.ContainsKey(msg.msgType))
     {
         if (M_dicTransmitMsg[msg.msgType].ContainsKey(msg.senderId))
         {
             PushMsg.MsgType type     = msg.msgType;
             uint            senderid = msg.senderId;
             if (m_lstTransmit.Contains(msg))
             {
                 m_lstTransmit.Remove(msg);
                 M_dicTransmitMsg[msg.msgType].Remove(msg.senderId);
             }
             if (!StillHasThisTypeLeft(m_lstTransmit, msg.msgType))
             {
                 M_dicTransmitMsg[msg.msgType].Clear();
                 M_dicTransmitMsg.Remove(msg.msgType);
             }
         }
     }
     Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.REFRESHTRANSMITPUSHMSGSTATUS, null);
 }