本文整理汇总了C++中CCharacter::GetLastFireInfo方法的典型用法代码示例。如果您正苦于以下问题:C++ CCharacter::GetLastFireInfo方法的具体用法?C++ CCharacter::GetLastFireInfo怎么用?C++ CCharacter::GetLastFireInfo使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCharacter
的用法示例。
在下文中一共展示了CCharacter::GetLastFireInfo方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Update
LTBOOL CAISenseHearEnemyWeaponFire::Update(HOBJECT hStimulus, LTFLOAT fTimeDelta)
{
if ( !IsCharacter(hStimulus) ) return LTFALSE;
CCharacter* pChar = (CCharacter*)g_pLTServer->HandleToObject(hStimulus);
CharFireInfo info;
pChar->GetLastFireInfo(info);
// Make sure this is a recent firing of the weapon...
if (info.fTime + 1.0 < g_pLTServer->GetTime() || info.nWeaponId == WMGR_INVALID_ID) return LTFALSE;
WEAPON* pWeapon = g_pWeaponMgr->GetWeapon(info.nWeaponId);
if (!pWeapon) return LTFALSE;
// Get the Distance that fire noise carries
LTFLOAT fWeaponFireNoiseDistance = (LTFLOAT)pWeapon->nAIFireSoundRadius;
if (info.bSilenced) fWeaponFireNoiseDistance *= 0.25f;
// Get the distance from the fire
LTFLOAT fDistance = VEC_DIST(info.vFiredPos, m_pAI->GetPosition());
// Are we close enough to hear?
if ( fDistance < (m_fDistance + fWeaponFireNoiseDistance) )
{
React();
// Record the Timestamp
m_fTimestamp = info.fTime;
return LTTRUE;
}
return LTFALSE;
}