当前位置: 首页>>代码示例>>C++>>正文


C++ CClientEntity::CallEventNoParent方法代码示例

本文整理汇总了C++中CClientEntity::CallEventNoParent方法的典型用法代码示例。如果您正苦于以下问题:C++ CClientEntity::CallEventNoParent方法的具体用法?C++ CClientEntity::CallEventNoParent怎么用?C++ CClientEntity::CallEventNoParent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CClientEntity的用法示例。


在下文中一共展示了CClientEntity::CallEventNoParent方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: CallEventNoParent

void CClientEntity::CallEventNoParent ( const char* szName, const CLuaArguments& Arguments, CClientEntity* pSource )
{
    // Call it on us if this isn't the same class it was raised on
    //TODO not sure why the null check is necessary (eAi)
    if ( pSource != this && m_pEventManager != NULL && m_pEventManager->HasEvents () )
    {
        m_pEventManager->Call ( szName, Arguments, pSource, this );
    }

    // Call it on all our children
    if ( ! m_Children.empty () )
    {
        CChildListType ::const_iterator iter = m_Children.begin ();
        for ( ; iter != m_Children.end (); iter++ )
        {
            CClientEntity* pEntity = *iter;

            if ( !pEntity->m_pEventManager || pEntity->m_pEventManager->HasEvents () || !pEntity->m_Children.empty () )
            {
                pEntity->CallEventNoParent ( szName, Arguments, pSource );
                if ( m_bBeingDeleted )
                    break;
            }
        }
    }
}
开发者ID:Anubhav652,项目名称:mtasa-blue,代码行数:26,代码来源:CClientEntity.cpp

示例2: CallEventNoParent

void CClientEntity::CallEventNoParent ( const char* szName, const CLuaArguments& Arguments, CClientEntity* pSource )
{
    // Call it on us if this isn't the same class it was raised on
    //TODO not sure why the null check is necessary (eAi)
    if ( pSource != this && m_pEventManager != NULL && m_pEventManager->HasEvents () )
    {
        m_pEventManager->Call ( szName, Arguments, pSource, this );
    }

    // Call it on all our children
    if ( ! m_Children.empty () )
    {
        CElementListSnapshot* pList = GetChildrenListSnapshot();
        pList->AddRef();    // Keep list alive during use
        for ( CElementListSnapshot::const_iterator iter = pList->begin() ; iter != pList->end() ; iter++ )
        {
            CClientEntity* pEntity = *iter;
            if ( !pEntity->IsBeingDeleted() )
            {
                if ( !pEntity->m_pEventManager || pEntity->m_pEventManager->HasEvents () || !pEntity->m_Children.empty () )
                {
                    pEntity->CallEventNoParent ( szName, Arguments, pSource );
                    if ( m_bBeingDeleted )
                        break;
                }
            }
        }
        pList->Release();
    }
}
开发者ID:ljnx86,项目名称:mtasa-blue,代码行数:30,代码来源:CClientEntity.cpp


注:本文中的CClientEntity::CallEventNoParent方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。