| 142 | //----------------------------------------------------------------------------- |
| 143 | |
| 144 | void SFXFadeModifier::_onUpdate() |
| 145 | { |
| 146 | F32 multiplier = ( mSource->getElapsedPlayTimeCurrentCycle() - mStartTime ) / ( mEndTime - mStartTime ); |
| 147 | |
| 148 | F32 newVolume; |
| 149 | if( mStartVolume > mEndVolume ) |
| 150 | newVolume = mStartVolume - ( ( mStartVolume - mEndVolume ) * multiplier ); |
| 151 | else |
| 152 | newVolume = mStartVolume + ( ( mEndVolume - mStartVolume ) * multiplier ); |
| 153 | |
| 154 | if( newVolume != mCurrentVolume ) |
| 155 | { |
| 156 | mCurrentVolume = newVolume; |
| 157 | mSource->setVolume( mCurrentVolume ); |
| 158 | } |
| 159 | } |
| 160 | |
| 161 | //----------------------------------------------------------------------------- |
| 162 |
nothing calls this directly
no test coverage detected