/** * @brief dispatch the key pad msg */ public bool DispatchKeypadMsg(CCKeypadMSGType nMsgType) { m_bLocked = true; if (m_pDelegates.Count > 0) { for (int i = 0; i < m_pDelegates.Count; i++) { CCKeypadHandler pHandler = m_pDelegates[i]; ICCKeypadDelegate pDelegate = pHandler.Delegate; switch (nMsgType) { case CCKeypadMSGType.BackClicked: pDelegate.KeyBackClicked(); break; case CCKeypadMSGType.MenuClicked: pDelegate.KeyMenuClicked(); break; } } } m_bLocked = false; if (m_bToRemove) { m_bToRemove = false; for (int i = 0; i < m_pHandlersToRemove.Count; ++i) { ForceRemoveDelegate(m_pHandlersToRemove[i]); } m_pHandlersToRemove.Clear(); } if (m_bToAdd) { m_bToAdd = false; for (int i = 0; i < m_pHandlersToAdd.Count; ++i) { ForceAddDelegate(m_pHandlersToAdd[i]); } m_pHandlersToAdd.Clear(); } return(true); }
/** @brief dispatch the key pad msg */ public bool DispatchKeypadMsg(CCKeypadMSGType nMsgType) { m_bLocked = true; if (m_pDelegates.Count > 0) { for (int i = 0; i < m_pDelegates.Count; i++) { CCKeypadHandler pHandler = m_pDelegates[i]; ICCKeypadDelegate pDelegate = pHandler.Delegate; switch (nMsgType) { case CCKeypadMSGType.BackClicked: pDelegate.KeyBackClicked(); break; case CCKeypadMSGType.MenuClicked: pDelegate.KeyMenuClicked(); break; } } } m_bLocked = false; if (m_bToRemove) { m_bToRemove = false; for (int i = 0; i < m_pHandlersToRemove.Count; ++i) { ForceRemoveDelegate(m_pHandlersToRemove[i]); } m_pHandlersToRemove.Clear(); } if (m_bToAdd) { m_bToAdd = false; for (int i = 0; i < m_pHandlersToAdd.Count; ++i) { ForceAddDelegate(m_pHandlersToAdd[i]); } m_pHandlersToAdd.Clear(); } return true; }