本文整理汇总了C++中CElement::CallEventNoParent方法的典型用法代码示例。如果您正苦于以下问题:C++ CElement::CallEventNoParent方法的具体用法?C++ CElement::CallEventNoParent怎么用?C++ CElement::CallEventNoParent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CElement
的用法示例。
在下文中一共展示了CElement::CallEventNoParent方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CallEventNoParent
void CElement::CallEventNoParent ( const char* szName, const CLuaArguments& Arguments, CElement* pSource, CPlayer* pCaller )
{
// Call it on us if this isn't the same class it was raised on
if ( pSource != this && m_pEventManager->HasEvents () )
{
m_pEventManager->Call ( szName, Arguments, pSource, this, pCaller );
}
// Call it on all our children
CElementListSnapshot* pList = GetChildrenListSnapshot();
pList->AddRef(); // Keep list alive during use
for ( CElementListSnapshot::const_iterator iter = pList->begin() ; iter != pList->end() ; iter++ )
{
CElement* pElement = *iter;
if ( !pElement->IsBeingDeleted() )
{
if ( !pElement->m_pEventManager || pElement->m_pEventManager->HasEvents () || !pElement->m_Children.empty () )
{
pElement->CallEventNoParent ( szName, Arguments, pSource, pCaller );
if ( m_bIsBeingDeleted )
break;
}
}
}
pList->Release();
}
示例2: CallEventNoParent
void CElement::CallEventNoParent ( const char* szName, const CLuaArguments& Arguments, CElement* pSource, CPlayer* pCaller )
{
// Call it on us if this isn't the same class it was raised on
if ( pSource != this && m_pEventManager->HasEvents () )
{
m_pEventManager->Call ( szName, Arguments, pSource, this, pCaller );
}
// Call it on all our children
CChildListType ::const_iterator iter = m_Children.begin ();
for ( ; iter != m_Children.end (); iter++ )
{
CElement* pElement = *iter;
if ( !pElement->m_pEventManager || pElement->m_pEventManager->HasEvents () || !pElement->m_Children.empty () )
{
pElement->CallEventNoParent ( szName, Arguments, pSource, pCaller );
if ( m_bIsBeingDeleted )
break;
}
}
}