本文整理汇总了C++中VRMenuObject::FreeChildren方法的典型用法代码示例。如果您正苦于以下问题:C++ VRMenuObject::FreeChildren方法的具体用法?C++ VRMenuObject::FreeChildren怎么用?C++ VRMenuObject::FreeChildren使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VRMenuObject
的用法示例。
在下文中一共展示了VRMenuObject::FreeChildren方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FreeObject
//==================================
// VRMenuMgrLocal::FreeObject
// Frees a menu object. If the object is a child of a parent object, this will
// also remove the child from the parent.
void VRMenuMgrLocal::FreeObject( menuHandle_t const handle )
{
int index;
UInt32 id;
DecomposeHandle( handle, index, id );
if ( !HandleComponentsAreValid( index, id ) )
{
return;
}
if ( ObjectList[index] == NULL )
{
// already freed
return;
}
VRMenuObject * obj = ObjectList[index];
// remove this object from its parent's child list
if ( obj->GetParentHandle().IsValid() )
{
VRMenuObject * parentObj = ToObject( obj->GetParentHandle() );
if ( parentObj != NULL )
{
parentObj->RemoveChild( *this, handle );
}
}
// free all of this object's children
obj->FreeChildren( *this );
delete obj;
// empty the slot
ObjectList[index] = NULL;
// add the index to the free list
FreeList.PushBack( index );
CondenseList();
}