//----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- void CObjectSentrygun::SetModel( const char *pModel ) { float flPoseParam0 = 0.0; float flPoseParam1 = 0.0; // Save pose parameters across model change if ( m_iPitchPoseParameter >= 0 ) { flPoseParam0 = GetPoseParameter( m_iPitchPoseParameter ); } if ( m_iYawPoseParameter >= 0 ) { flPoseParam1 = GetPoseParameter( m_iYawPoseParameter ); } BaseClass::SetModel( pModel ); // Reset this after model change UTIL_SetSize( this, SENTRYGUN_MINS, SENTRYGUN_MAXS ); SetSolid( SOLID_BBOX ); // Restore pose parameters m_iPitchPoseParameter = LookupPoseParameter( "aim_pitch" ); m_iYawPoseParameter = LookupPoseParameter( "aim_yaw" ); SetPoseParameter( m_iPitchPoseParameter, flPoseParam0 ); SetPoseParameter( m_iYawPoseParameter, flPoseParam1 ); CreateBuildPoints(); ReattachChildren(); ResetSequenceInfo(); }
//----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- void CObjectTeleporter::SetModel( const char *pModel ) { BaseClass::SetModel( pModel ); // Reset this after model change UTIL_SetSize( this, TELEPORTER_MINS, TELEPORTER_MAXS ); CreateBuildPoints(); ReattachChildren(); m_iDirectionBodygroup = FindBodygroupByName( "teleporter_direction" ); m_iBlurBodygroup = FindBodygroupByName( "teleporter_blur" ); if ( m_iBlurBodygroup >= 0 ) { SetBodygroup( m_iBlurBodygroup, 0 ); } }