//----------------------------------------------------------------------------- // Purpose: Show/hide weapon and corresponding view model if any // Input : visible - //----------------------------------------------------------------------------- void CTFWeaponInvis::SetWeaponVisible( bool visible ) { CBaseViewModel *vm = NULL; CBasePlayer *pOwner = ToBasePlayer( GetOwner() ); if ( pOwner ) { vm = pOwner->GetViewModel( m_nViewModelIndex ); } if ( visible ) { RemoveEffects( EF_NODRAW ); if ( vm ) { vm->RemoveEffects( EF_NODRAW ); } } else { AddEffects( EF_NODRAW ); if ( vm ) { vm->AddEffects( EF_NODRAW ); } } }
//----------------------------------------------------------------------------- // Purpose: Show/hide weapon and corresponding view model if any // Input : visible - //----------------------------------------------------------------------------- void CWarsWeapon::SetWeaponVisible( bool visible ) { CBaseViewModel *vm = NULL; CUnitBase *pUnit; if( GetOwner() ) { pUnit = GetOwner()->MyUnitPointer(); if( pUnit && pUnit->GetCommander() ) { CBasePlayer *pOwner = ToBasePlayer( pUnit->GetCommander() ); if ( pOwner ) { vm = pOwner->GetViewModel( m_nViewModelIndex ); } } } if ( vm ) { if ( visible ) { vm->RemoveEffects( EF_NODRAW ); } else { vm->AddEffects( EF_NODRAW ); } } BaseClass::SetWeaponVisible( visible ); }
//----------------------------------------------------------------------------- // Purpose: Override base class so player can reset autoaim // Input : // Output : //----------------------------------------------------------------------------- bool CBasePlayer::Weapon_Switch( CBaseCombatWeapon *pWeapon, int viewmodelindex /*=0*/ ) { CBaseCombatWeapon *pLastWeapon = GetActiveWeapon(); if ( BaseClass::Weapon_Switch( pWeapon, viewmodelindex )) { if ( pLastWeapon && Weapon_ShouldSetLast( pLastWeapon, GetActiveWeapon() ) ) { Weapon_SetLast( pLastWeapon->GetLastWeapon() ); } CBaseViewModel *pViewModel = GetViewModel( viewmodelindex ); Assert( pViewModel ); if ( pViewModel ) pViewModel->RemoveEffects( EF_NODRAW ); ResetAutoaim( ); return true; } return false; }