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

Method _onParameterEvent

Engine/source/sfx/sfxSource.cpp:1184–1320  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 6

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

Tested by

no test coverage detected