예제 #1
0
 public void HandleMsg(GUIMsg msg)
 {
     if (msg != null)
     {
         msg.Execute(m_handlerDic);
     }
 }
예제 #2
0
 public void SendMsg(GUIMsg msg)
 {
     if ((msg != null) && (!msg.NeedLockSend || !m_lockMessageQueue))
     {
         m_msgs.Enqueue(msg);
         m_lockMessageQueue = true;
     }
 }
예제 #3
0
    public void Update()
    {
        if (m_lockMessageQueue)
        {
            m_timeCounter += Time.deltaTime;
            if (m_timeCounter > m_minMsgIntervalTime)
            {
                m_timeCounter      = 0;
                m_lockMessageQueue = false;
            }
        }

        while (m_msgs.Count > 0)
        {
            GUIMsg msg = m_msgs.Dequeue();
            HandleMsg(msg);
        }
    }