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

Method _update

Engine/source/sfx/sfxSystem.cpp:757–814  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

755//-----------------------------------------------------------------------------
756
757void SFXSystem::_update()
758{
759 PROFILE_SCOPE( SFXSystem_Update );
760
761 getEventSignal().trigger( SFXSystemEvent_Update );
762
763 for( U32 i = 0; i < mPlugins.size(); ++ i )
764 mPlugins[ i ]->update();
765
766 const U32 SOURCE_UPDATE_MS = TickMs * 2;
767 const U32 PARAMETER_UPDATE_MS = TickMs * 3;
768 const U32 AMBIENT_UPDATE_MS = TickMs * 4;
769
770 static AutoPtr< PlatformTimer > sTimer;
771 if( sTimer.isNull() )
772 sTimer = PlatformTimer::create();
773
774 // The update of the sources can be a bit expensive
775 // and it does not need to be updated every frame.
776 const U32 currentTime = Platform::getRealMilliseconds();
777 if( ( currentTime - mLastSourceUpdateTime ) >= SOURCE_UPDATE_MS )
778 {
779 S32 tick = sTimer->getElapsedMs();
780
781 _updateSources();
782 mLastSourceUpdateTime = currentTime;
783
784 mStatSourceUpdateTime = ( sTimer->getElapsedMs() - tick );
785 }
786 if( ( currentTime - mLastParameterUpdateTime ) >= PARAMETER_UPDATE_MS )
787 {
788 S32 tick = sTimer->getElapsedMs();
789
790 SimSet* set = Sim::getSFXParameterGroup();
791 for( SimSet::iterator iter = set->begin(); iter != set->end(); ++ iter )
792 {
793 SFXParameter* parameter = dynamic_cast< SFXParameter* >( *iter );
794 if( parameter )
795 parameter->update();
796 }
797
798 mLastParameterUpdateTime = currentTime;
799 mStatParameterUpdateTime = ( sTimer->getElapsedMs() - tick );
800 }
801 if( mSoundscapeMgr && ( currentTime - mLastAmbientUpdateTime ) >= AMBIENT_UPDATE_MS )
802 {
803 S32 tick = sTimer->getElapsedMs();
804
805 mSoundscapeMgr->update();
806 mLastAmbientUpdateTime = currentTime;
807
808 mStatAmbientUpdateTime = ( sTimer->getElapsedMs() - tick );
809 }
810
811 // If we have a device then update it.
812 if( mDevice )
813 mDevice->update();
814}

Callers 1

_assignVoiceMethod · 0.45

Calls 7

triggerMethod · 0.45
sizeMethod · 0.45
updateMethod · 0.45
isNullMethod · 0.45
getElapsedMsMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected