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

Method _update

Engine/source/sfx/sfxSystem.cpp:760–817  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

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