void* sdEntity::getPreviousValue(double time, EDescriptor descriptor){
    sdEvent *evt = getPreviousEvent(time, descriptor);
    if(evt){
        return evt->getValue();
    }
    return NULL;
}
//-----------------------------------------------------------------------------
// 
// VParticleEffectToggleTrack::onControllerReset( pTime, pForward );
// 
// Enable or Disable the particle effect after a reset.
// 
//-----------------------------------------------------------------------------
void VParticleEffectToggleTrack::onControllerReset( const S32 &pTime, const bool &pForward )
{
    // Default Reset.
    Parent::onControllerReset( pTime, pForward );

    VParticleEffectToggleEvent  *event;
    VTorque::ParticleEffectType *particleEffect;
    if ( getSceneObject( particleEffect ) && getPreviousEvent( event ) )
    {
        // Turn On?
        const bool turnOn = ( event->mEventType == VSharedEnum::k_ActionTurnOn );

        // Toggle the Particle Effect.
        VTorque::setParticleEffectOn( particleEffect, turnOn );
    }
}
Example #3
0
//-----------------------------------------------------------------------------
// 
// VPostEffectToggleTrack::onCameraEvent( pEvent );
// 
// When the Camera changes, this method is called on both the outgoing and
// incoming Camera Groups.
// 
// For a full list of possible events, see the 'eCameraEventType' declaration
// in VCameraGroup.h.
// 
//-----------------------------------------------------------------------------
bool VPostEffectToggleTrack::onCameraEvent( const VCameraGroup::eCameraEventType &pEvent )
{
    // Parent Call.
    if ( !Parent::onCameraEvent( pEvent ) )
    {
        // Skip.
        return false;
    }

    // Enabled?
    if ( !isEnabled() || !mPostEffect.isValid() )
    {
        // Quit Now.
        return true;
    }

    switch( pEvent )
    {
        case VCameraGroup::k_EventActivate :
            {

                VPostEffectToggleEvent *event;
                if ( getPreviousEvent( event ) && event->mEventType == VSharedEnum::k_ActionTurnOn )
                {
                    // Toggle Post Effect On.
                    VTorque::setPostEffectOn( mPostEffect, true );
                }

            } break;

        case VCameraGroup::k_EventDeactivate :
            {

                // Turn Post Effect Off.
                VTorque::setPostEffectOn( mPostEffect, false );

            } break;
    }

    return true;
}
// last event
sdEvent* sdEntity::getLastEvent(EDescriptor descriptor) const{
    return getPreviousEvent(DBL_MAX, descriptor);
}