本文整理汇总了C++中BaseNode::onDetaching方法的典型用法代码示例。如果您正苦于以下问题:C++ BaseNode::onDetaching方法的具体用法?C++ BaseNode::onDetaching怎么用?C++ BaseNode::onDetaching使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BaseNode
的用法示例。
在下文中一共展示了BaseNode::onDetaching方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: detachNodeSwap
void BaseNode::detachNodeSwap( int nChild )
{
if ( nChild >= 0 && nChild < (int)m_Children.size() )
{
updateVersion();
BaseNode * pChild = m_Children[ nChild ];
if ( pChild != NULL )
{
// inform the child it is being detached
pChild->onDetaching();
// inform ourselves
onDetach( pChild );
// null the parent pointer and remove from the child list
pChild->m_pParent = NULL;
}
removeSwapIndex( m_Children, nChild );
// notify this object that a child object has been detached
onChildDetached();
}
}
示例2: detachAllNodes
void BaseNode::detachAllNodes()
{
updateVersion();
for(size_t i=0;i<m_Children.size();i++)
{
BaseNode * pChild = m_Children[ i ];
if (! pChild )
continue;
// inform the child it is being detached
pChild->onDetaching();
// inform ourselves
onDetach( pChild );
// set the parent pointer to NULL
pChild->m_pParent = NULL;
}
m_Children.clear();
// notify this object that a child object has been detached
onChildDetached();
}
示例3: detachNode
void BaseNode::detachNode( int child )
{
ASSERT( this != NULL );
if ( child >= 0 && child < (int)m_Children.size() )
{
updateVersion();
BaseNode * pChild = m_Children[ child ];
if ( pChild != NULL )
{
// inform the child it is being detached
pChild->onDetaching();
// inform ourselves
onDetach( pChild );
// null the parent pointer and remove from the child list
pChild->m_pParent = NULL;
}
m_Children.erase( m_Children.begin() + child );
// notify this object that a child object has been detached
onChildDetached();
}
}