本文整理汇总了C++中CCSPlayer::GetActiveWeapon方法的典型用法代码示例。如果您正苦于以下问题:C++ CCSPlayer::GetActiveWeapon方法的具体用法?C++ CCSPlayer::GetActiveWeapon怎么用?C++ CCSPlayer::GetActiveWeapon使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCSPlayer
的用法示例。
在下文中一共展示了CCSPlayer::GetActiveWeapon方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetCurrentMaxGroundSpeed
float CCSPlayerAnimState::GetCurrentMaxGroundSpeed()
{
Activity currentActivity = m_pOuter->GetSequenceActivity( m_pOuter->GetSequence() );
if ( currentActivity == ACT_WALK || currentActivity == ACT_IDLE )
return ANIM_TOPSPEED_WALK;
else if ( currentActivity == ACT_RUN )
{
if ( m_pPlayer )
{
CBaseCombatWeapon *activeWeapon = m_pPlayer->GetActiveWeapon();
if ( activeWeapon )
{
CWeaponCSBase *csWeapon = dynamic_cast< CWeaponCSBase * >( activeWeapon );
if ( csWeapon )
{
return csWeapon->GetMaxSpeed();
}
}
}
return ANIM_TOPSPEED_RUN;
}
else if ( currentActivity == ACT_RUN_CROUCH )
return ANIM_TOPSPEED_RUN_CROUCH;
else
return 0;
}
示例2: GetPlayerOwner
bool CC4::ShouldRemoveOnRoundRestart()
{
// Doesn't matter if we have an owner or not.. always remove the C4 when the round restarts.
// The gamerules will give another C4 to some lucky player.
CCSPlayer *pPlayer = GetPlayerOwner();
if ( pPlayer && pPlayer->GetActiveWeapon() == this )
engine->ClientCommand( pPlayer->edict(), "lastinv reset\n" );
return true;
}
示例3: ComputeGrenadeSequence
void CCSPlayerAnimState::ComputeGrenadeSequence( CStudioHdr *pStudioHdr )
{
VPROF( "CCSPlayerAnimState::ComputeGrenadeSequence" );
if ( m_bThrowingGrenade )
{
UpdateLayerSequenceGeneric( pStudioHdr, GRENADESEQUENCE_LAYER, m_bThrowingGrenade, m_flGrenadeCycle, m_iGrenadeSequence, false );
}
else
{
// Priming the grenade isn't an event.. we just watch the player for it.
// Also play the prime animation first if he wants to throw the grenade.
bool bThrowPending = (m_iLastThrowGrenadeCounter != GetOuterGrenadeThrowCounter());
if ( IsOuterGrenadePrimed() || bThrowPending )
{
if ( !m_bPrimingGrenade )
{
// If this guy just popped into our PVS, and he's got his grenade primed, then
// let's assume that it's all the way primed rather than playing the prime
// animation from the start.
if ( TimeSinceLastAnimationStateClear() < 0.4f )
{
m_flGrenadeCycle = 1;
if ( m_pPlayer )
{
CBaseCombatWeapon *pWeapon = m_pPlayer->GetActiveWeapon();
CBaseCSGrenade *pGren = dynamic_cast<CBaseCSGrenade*>( pWeapon );
if ( pWeapon && !pGren )
{
// The player coming into our PVS has a non-grenade weapon equipped.
// Either he switched away from it or he has already thrown the grenade. Bail.
m_iLastThrowGrenadeCounter = GetOuterGrenadeThrowCounter();
return;
}
}
}
else
{
m_flGrenadeCycle = 0;
}
m_iGrenadeSequence = CalcGrenadePrimeSequence();
}
m_bPrimingGrenade = true;
UpdateLayerSequenceGeneric( pStudioHdr, GRENADESEQUENCE_LAYER, m_bPrimingGrenade, m_flGrenadeCycle, m_iGrenadeSequence, true );
// If we're waiting to throw and we're done playing the prime animation...
if ( bThrowPending && m_flGrenadeCycle == 1 )
{
m_iLastThrowGrenadeCounter = GetOuterGrenadeThrowCounter();
// Now play the throw animation.
m_iGrenadeSequence = CalcGrenadeThrowSequence();
if ( m_iGrenadeSequence != -1 )
{
// Configure to start playing
m_bThrowingGrenade = true;
m_bPrimingGrenade = false;
m_flGrenadeCycle = 0;
}
}
}
else
{
m_bPrimingGrenade = false;
}
}
}