本文整理汇总了C++中CGameObject::GetSphere方法的典型用法代码示例。如果您正苦于以下问题:C++ CGameObject::GetSphere方法的具体用法?C++ CGameObject::GetSphere怎么用?C++ CGameObject::GetSphere使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGameObject
的用法示例。
在下文中一共展示了CGameObject::GetSphere方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetSphere
CGameObject* CEnemy::GetWhoIsAroundMe2(float Size)
{
CGameObject* firstAllyInProximity = NULL;
CGameObject* currentCloseGuy;
CGameObject* currentObj = g_CollisionAvoidanceList;
if (g_CollisionAvoidanceList == NULL)
return NULL;
const Sphere* es = GetSphere();
Sphere MySphere = *es;
MySphere.Radius = Size;
do
{
if (currentObj == this)
{
currentObj = currentObj->m_CollisionAvoidanceListNext;
continue;
}
if (SphereToSphere(&MySphere, currentObj->GetSphere()))
{
if (firstAllyInProximity == NULL)
{
firstAllyInProximity = currentObj;
currentCloseGuy = currentObj;
}
else
{
currentCloseGuy->m_GuyNextToMe = currentObj;
currentCloseGuy = currentObj;
}
}
currentObj = currentObj->m_CollisionAvoidanceListNext;
} while(currentObj != NULL);
return firstAllyInProximity;
}
示例2: TargetEnemy
void CEnemy::TargetEnemy()
{
CGameObject* pCurrentObj = GetWhoIsAroundMe2(400.0f);
CGameObject* pFirstGuy = pCurrentObj;
m_CurrentTarget = &g_Player;
float Dist = DistanceSquare(&(GetSphere()->Center), &(g_Player.GetSphere()->Center));
float TempDist;
if (pCurrentObj != NULL)
{
do
{
switch(pCurrentObj->GetType())
{
case OBJ_BUILDING:
case OBJ_BUILDING2:
case OBJ_BUILDING3:
{
TempDist = DistanceSquare(&(GetSphere()->Center), &(pCurrentObj->GetSphere()->Center));
if (TempDist < Dist)
{
m_CurrentTarget = pCurrentObj;
Dist = TempDist;
}
break;
};
case OBJ_FTURRET:
{
TempDist = DistanceSquare(&(GetSphere()->Center), &(pCurrentObj->GetSphere()->Center));
if (TempDist < Dist)
{
m_CurrentTarget = pCurrentObj;
Dist = TempDist;
}
break;
};
case OBJ_CONVOY:
{
TempDist = DistanceSquare(&(GetSphere()->Center), &(pCurrentObj->GetSphere()->Center));
if (TempDist < Dist)
{
m_CurrentTarget = pCurrentObj;
Dist = TempDist;
}
break;
};
default:
break;
};
pCurrentObj = pCurrentObj->m_GuyNextToMe;
} while (pCurrentObj != NULL);
}
ClearWhoIsAroundMe(pFirstGuy);
}