本文整理汇总了C++中CGrenade::Center方法的典型用法代码示例。如果您正苦于以下问题:C++ CGrenade::Center方法的具体用法?C++ CGrenade::Center怎么用?C++ CGrenade::Center使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGrenade
的用法示例。
在下文中一共展示了CGrenade::Center方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Update_GrenadeView
void CHitMarker::Update_GrenadeView( Fvector& pos_actor )
{
GRENADEMARKS::iterator it_b = m_GrenadeMarks.begin();
GRENADEMARKS::iterator it_e = m_GrenadeMarks.end();
for ( ; it_b != it_e; ++it_b )
{
if ( (*it_b)->removed_grenade ) continue;
CGrenade* grn = (*it_b)->p_grenade;
if( grn->IsExploding() )
{
(*it_b)->removed_grenade = true;
continue;
}
Fvector pos_grn, dir;
grn->Center( pos_grn );
dir.sub( pos_grn, pos_actor );
//dir.sub( pos_actor, pos_grn );
dir.normalize();
(*it_b)->Update( dir.getH() );
}
}
示例2: UpdateGrenadeReactions
void CHostageImprov::UpdateGrenadeReactions()
{
if (m_coughTimer.IsElapsed())
{
if (TheBots->IsInsideSmokeCloud(&GetCentroid()))
{
m_coughTimer.Start(RANDOM_FLOAT(1, 3));
Chatter(HOSTAGE_CHATTER_COUGH);
Frighten(SCARED);
}
}
if (m_grenadeTimer.IsElapsed())
{
CBaseEntity *entity = NULL;
const float watchGrenadeRadius = 500.0f;
m_grenadeTimer.Start(RANDOM_FLOAT(0.4f, 0.6f));
while ((entity = UTIL_FindEntityInSphere(entity, GetCentroid(), watchGrenadeRadius)) != NULL)
{
CGrenade *grenade = static_cast<CGrenade *>(entity);
if (!FClassnameIs(grenade->pev, "grenade") || grenade->m_SGSmoke > 1)
continue;
if (IsVisible(grenade->Center()))
{
Chatter(HOSTAGE_CHATTER_SAW_HE_GRENADE);
if (grenade->pev->dmg > 50.0f)
{
m_idleState.OnInjury();
Frighten(TERRIFIED);
}
else
Frighten(SCARED);
m_grenadeTimer.Start(10);
break;
}
}
}
}