private LRESULT OnMsg(MsgNode msgNode) { if (msgNode == null) { return(LRESULT_VALUE.FAIL); } return(OnMsg(msgNode.Msg, msgNode.Obj, msgNode.wParam, msgNode.lParam)); }
// 创建消息 public MsgNode CreateMsg(long msgId, System.Object obj = null, long wParam = 0, long lParam = 0) { MsgNode ret = CreateMsgNode(msgId, obj, wParam, lParam); if (ret != null) { m_MsgList.AddLast(ret); } return(ret); }
// 删除消息 public void DestroyMsg(MsgNode node) { if (node == null) { return; } if (node.Node != null && node.Node.List == m_MsgList) { m_MsgList.Remove(node.Node); } DestroyMsgNode(node); }
// 删除消息节点 protected static void DestroyMsgNode(MsgNode node) { if (node == null) { return; } LinkedListNode <MsgNode> m = node.Node; if (m == null || (m.List != null)) { return; } m_MsgPool.AddLast(m); }
// 创建消息节点 protected static MsgNode CreateMsgNode(long msgId, System.Object obj = null, long wParam = 0, long lParam = 0) { var firstNode = m_MsgPool.First; if (firstNode == null) { MsgNode ret = new MsgNode(msgId, obj, wParam, lParam); return(ret); } m_MsgPool.Remove(firstNode); MsgNode ret1 = firstNode.Value; ret1.Msg = msgId; ret1.Obj = obj; ret1.wParam = wParam; ret1.lParam = lParam; return(ret1); }
public virtual bool PushMsgToList(long msgId, System.Object obj, long wParam, long lParam) { MsgNode node = m_MsgList.CreateMsg(msgId, obj, wParam, lParam); return(node != null); }