void CWeaponGravityGun::DetachObject( void ) { m_pelletHeld = -1; m_pelletAttract = -1; m_glueTouching = false; SetObjectPelletsColor( 255, 0, 0 ); m_objectPelletCount = 0; if ( m_hObject ) { CBasePlayer *pOwner = ToBasePlayer( GetOwner() ); Pickup_OnPhysGunDrop( m_hObject, pOwner, DROPPED_BY_CANNON ); m_gravCallback.DetachEntity(); m_hObject = NULL; } }
void CWeaponGravityGun::DetachObject( void ) { if ( m_hObject ) { #ifndef CLIENT_DLL CBasePlayer *pOwner = ToBasePlayer( GetOwner() ); Pickup_OnPhysGunDrop( m_hObject, pOwner, DROPPED_BY_CANNON ); #endif IPhysicsObject *pPhysics = m_hObject->VPhysicsGetObject(); if ( pPhysics ) { PhysClearGameFlags( pPhysics, FVPHYSICS_PLAYER_HELD ); } m_gravCallback.DetachEntity(); m_hObject = NULL; } }
void CWeaponGravityGun::DetachObject( void ) { if ( m_hObject ) { #ifndef CLIENT_DLL CBasePlayer *pOwner = ToBasePlayer( GetOwner() ); Pickup_OnPhysGunDrop( m_hObject, pOwner, DROPPED_BY_CANNON ); #endif IPhysicsObject *pList[VPHYSICS_MAX_OBJECT_LIST_COUNT]; int count = m_hObject->VPhysicsGetObjectList( pList, ARRAYSIZE(pList) ); for ( int i = 0; i < count; i++ ) { PhysClearGameFlags( pList[i], FVPHYSICS_PLAYER_HELD ); } m_gravCallback.DetachEntity(); m_hObject = NULL; m_physicsBone = 0; } }