MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / _onParameterEvent

Method _onParameterEvent

Engine/source/sfx/sfxSource.cpp:1194–1330  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1192//-----------------------------------------------------------------------------
1193
1194void SFXSource::_onParameterEvent( SFXParameter* parameter, SFXParameterEvent event )
1195{
1196 switch( event )
1197 {
1198 case SFXParameterEvent_ValueChanged:
1199
1200 onParameterValueChange_callback( parameter );
1201
1202 switch( parameter->getChannel() )
1203 {
1204 case SFXChannelStatus:
1205 {
1206 F32 value = parameter->getValue();
1207 if( value >= F32( SFXStatusPlaying ) && value <= F32( SFXStatusStopped ) )
1208 {
1209 SFXStatus status = ( SFXStatus ) U32( value );
1210 switch( status )
1211 {
1212 case SFXStatusPlaying: play(); break;
1213 case SFXStatusPaused: pause(); break;
1214 case SFXStatusStopped: stop(); break;
1215
1216 default:
1217 break;
1218 }
1219 }
1220 break;
1221 }
1222
1223 case SFXChannelVolume:
1224 setVolume( parameter->getValue() );
1225 break;
1226
1227 case SFXChannelPitch:
1228 setPitch( parameter->getValue() );
1229 break;
1230
1231 case SFXChannelPriority:
1232 setPriority( parameter->getValue() );
1233 break;
1234
1235 case SFXChannelMinDistance:
1236 setMinMaxDistance( parameter->getValue(), mMaxDistance );
1237 break;
1238
1239 case SFXChannelMaxDistance:
1240 setMinMaxDistance( mMinDistance, parameter->getValue() );
1241 break;
1242
1243 case SFXChannelPositionX:
1244 {
1245 Point3F position = mTransform.getPosition();
1246 position.x = parameter->getValue();
1247 mTransform.setPosition( position );
1248 setTransform( mTransform );
1249 break;
1250 }
1251

Callers

nothing calls this directly

Calls 7

stopFunction · 0.85
getChannelMethod · 0.80
toEulerMethod · 0.80
U32Enum · 0.50
getValueMethod · 0.45
getPositionMethod · 0.45
setPositionMethod · 0.45

Tested by

no test coverage detected