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;
}
示例#2
0
void RDOPROCSeize::onStart(const LPRDORuntime& pRuntime)
{
	_onStart(pRuntime);
}
示例#3
0
void RDOPROCQueue::onStart(const LPRDORuntime& pRuntime)
{
	_onStart(pRuntime);
}
示例#4
0
void RDOPROCRelease::onStart(const LPRDORuntime& pRuntime)
{
	_onStart(pRuntime);
}
示例#5
0
void RDOPROCDepart::onStart(const LPRDORuntime& pRuntime)
{
	_onStart(pRuntime);
}