本文整理汇总了C++中CBaseCombatCharacter::IsAllowedToPickupWeapons方法的典型用法代码示例。如果您正苦于以下问题:C++ CBaseCombatCharacter::IsAllowedToPickupWeapons方法的具体用法?C++ CBaseCombatCharacter::IsAllowedToPickupWeapons怎么用?C++ CBaseCombatCharacter::IsAllowedToPickupWeapons使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CBaseCombatCharacter
的用法示例。
在下文中一共展示了CBaseCombatCharacter::IsAllowedToPickupWeapons方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PickupTouch
void CGETKnife::PickupTouch( CBaseEntity *pOther )
{
// Vehicles can touch items + pick them up
if ( pOther->GetServerVehicle() )
{
pOther = pOther->GetServerVehicle()->GetPassenger();
if ( !pOther )
return;
}
CBaseCombatCharacter *pPicker = pOther->MyCombatCharacterPointer();
if ( !pPicker )
return;
// Must be a valid pickup scenario (no blocking). Though this is a more expensive
// check than some that follow, this has to be first because it's the only one
// that inhibits firing the output OnCacheInteraction.
if ( UTIL_ItemCanBeTouchedByPlayer( this, ToGEPlayer(pPicker) ) == false )
return;
// Can I even pick stuff up?
if ( !pPicker->IsAllowedToPickupWeapons() )
return;
if ( MyTouch( pPicker ) )
{
SetTouch( NULL );
SetThink( NULL );
UTIL_Remove( this );
}
}
示例2: SlamTouch
//-----------------------------------------------------------------------------
// Purpose: Override so give correct ammo
// Input : pOther - the entity that touched me
// Output :
//-----------------------------------------------------------------------------
void CWeapon_SLAM::SlamTouch( CBaseEntity *pOther )
{
CBaseCombatCharacter* pBCC = ToBaseCombatCharacter( pOther );
// Can I even pick stuff up?
if ( pBCC && !pBCC->IsAllowedToPickupWeapons() )
return;
// ---------------------------------------------------
// First give weapon to touching entity if allowed
// ---------------------------------------------------
BaseClass::DefaultTouch(pOther);
// ----------------------------------------------------
// Give slam ammo if touching client
// ----------------------------------------------------
if (pOther->GetFlags() & FL_CLIENT)
{
// ------------------------------------------------
// If already owned weapon of this type remove me
// ------------------------------------------------
CWeapon_SLAM* oldWeapon = (CWeapon_SLAM*)pBCC->Weapon_OwnsThisType( GetClassname() );
if (oldWeapon != this)
{
UTIL_Remove( this );
}
else
{
pBCC->GiveAmmo( 1, m_iSecondaryAmmoType );
SetThink(NULL);
}
}
}
示例3: MineTouch
void CWeaponMine::MineTouch( CBaseEntity *pOther )
{
#ifdef GAME_DLL
CBaseCombatCharacter* pBCC = ToBaseCombatCharacter( pOther );
if ( pBCC && !pBCC->IsAllowedToPickupWeapons() )
return;
#endif
BaseClass::DefaultTouch(pOther);
}
示例4: SlamTouch
//-----------------------------------------------------------------------------
// Purpose: Override so give correct ammo
// Input : pOther - the entity that touched me
// Output :
//-----------------------------------------------------------------------------
void CWeapon_SLAM::SlamTouch( CBaseEntity *pOther )
{
#ifdef GAME_DLL
CBaseCombatCharacter* pBCC = ToBaseCombatCharacter( pOther );
// Can I even pick stuff up?
if ( pBCC && !pBCC->IsAllowedToPickupWeapons() )
return;
#endif
// ---------------------------------------------------
// First give weapon to touching entity if allowed
// ---------------------------------------------------
BaseClass::DefaultTouch(pOther);
}
示例5: StartTouch
//-----------------------------------------------------------------------------
// Drops all weapons, marks the character as not being able to pick up weapons
//-----------------------------------------------------------------------------
void CTriggerWeaponStrip::StartTouch(CBaseEntity *pOther)
{
BaseClass::StartTouch( pOther );
if ( PassesTriggerFilters(pOther) == false )
return;
CBaseCombatCharacter *pCharacter = pOther->MyCombatCharacterPointer();
if ( m_bKillWeapons )
{
for ( int i = 0 ; i < pCharacter->WeaponCount(); ++i )
{
CBaseCombatWeapon *pWeapon = pCharacter->GetWeapon( i );
if ( !pWeapon )
continue;
pCharacter->Weapon_Drop( pWeapon );
UTIL_Remove( pWeapon );
}
return;
}
// Strip the player of his weapons
if ( pCharacter && pCharacter->IsAllowedToPickupWeapons() )
{
CBaseCombatWeapon *pBugbait = pCharacter->Weapon_OwnsThisType( "weapon_bugbait" );
if ( pBugbait )
{
pCharacter->Weapon_Drop( pBugbait );
UTIL_Remove( pBugbait );
}
pCharacter->Weapon_DropAll( true );
pCharacter->SetPreventWeaponPickup( true );
}
}