本文整理汇总了C++中CClientEntity::GetParent方法的典型用法代码示例。如果您正苦于以下问题:C++ CClientEntity::GetParent方法的具体用法?C++ CClientEntity::GetParent怎么用?C++ CClientEntity::GetParent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CClientEntity
的用法示例。
在下文中一共展示了CClientEntity::GetParent方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DoHitDetectionForColShape
//
// Handle the changing state of collision between one colshape and any entity
//
void CClientColManager::DoHitDetectionForColShape ( CClientColShape* pShape )
{
// Ensure colshape is enabled and not being deleted
if ( pShape->IsBeingDeleted () || !pShape->IsEnabled () )
return;
std::map < CClientEntity*, int > entityList;
// Get all entities within the sphere
CSphere querySphere = pShape->GetWorldBoundingSphere ();
CClientEntityResult result;
GetClientSpatialDatabase()->SphereQuery ( result, querySphere );
// Extract relevant types
for ( CClientEntityResult::const_iterator it = result.begin () ; it != result.end (); ++it )
{
CClientEntity* pEntity = *it;
switch ( pEntity->GetType () )
{
case CCLIENTRADARMARKER:
case CCLIENTRADARAREA:
case CCLIENTTEAM:
case CCLIENTGUI:
case CCLIENTCOLSHAPE:
case CCLIENTDUMMY:
case SCRIPTFILE:
case CCLIENTDFF:
case CCLIENTCOL:
case CCLIENTTXD:
case CCLIENTSOUND:
break;
default:
if ( pEntity->GetParent () )
entityList[ pEntity ] = 1;
}
}
// Add existing colliders, so they can be disconnected if required
for ( CFastList < CClientEntity* > ::const_iterator it = pShape->CollidersBegin () ; it != pShape->CollidersEnd (); ++it )
{
entityList[ *it ] = 1;
}
// Test each entity against the colshape
for ( std::map < CClientEntity*, int > ::const_iterator it = entityList.begin () ; it != entityList.end (); ++it )
{
CClientEntity* pEntity = it->first;
CVector vecPosition;
pEntity->GetPosition ( vecPosition );
// Collided?
bool bHit = pShape->DoHitDetection ( vecPosition, 0.0f );
HandleHitDetectionResult ( bHit, pShape, pEntity );
}
}