bool SFXRangeModifier::update() { if( !isActive() ) { SFXStatus status = mSource->getStatus(); if( ( status == SFXStatusPlaying || status == SFXStatusBlocked ) && mSource->getElapsedPlayTimeCurrentCycle() >= mStartTime ) { mIsActive = true; _onStart(); } } if( isActive() ) _onUpdate(); if( isActive() ) { SFXStatus status = mSource->getStatus(); if( ( status == SFXStatusPlaying || status == SFXStatusBlocked ) && mSource->getElapsedPlayTimeCurrentCycle() > mEndTime ) { _onEnd(); mIsActive = false; return mRemoveWhenDone; } } return true; }
void RDOPROCSeize::onStart(const LPRDORuntime& pRuntime) { _onStart(pRuntime); }
void RDOPROCQueue::onStart(const LPRDORuntime& pRuntime) { _onStart(pRuntime); }
void RDOPROCRelease::onStart(const LPRDORuntime& pRuntime) { _onStart(pRuntime); }
void RDOPROCDepart::onStart(const LPRDORuntime& pRuntime) { _onStart(pRuntime); }