| 746 | //----------------------------------------------------------------------------- |
| 747 | |
| 748 | void SFXController::_updateVolume( const MatrixF& listener ) |
| 749 | { |
| 750 | F32 oldAttenuatedVolume = mAttenuatedVolume; |
| 751 | Parent::_updateVolume( listener ); |
| 752 | |
| 753 | // If the attenuated volume has changed, pass it off |
| 754 | // as the modulative volume to all our sources. |
| 755 | |
| 756 | if( oldAttenuatedVolume != mAttenuatedVolume ) |
| 757 | for( U32 i = 0; i < mSources.size(); ++ i ) |
| 758 | { |
| 759 | Source& source = mSources[ i ]; |
| 760 | if( source.mPtr != NULL ) |
| 761 | source.mPtr->setModulativeVolume( mAttenuatedVolume * source.mVolumeScale ); |
| 762 | else |
| 763 | { |
| 764 | mSources.erase( i ); |
| 765 | -- i; |
| 766 | } |
| 767 | } |
| 768 | } |
| 769 | |
| 770 | //----------------------------------------------------------------------------- |
| 771 |
nothing calls this directly
no test coverage detected