Torque3D Documentation / _generateds / VCameraShakeTrack.cpp

VCameraShakeTrack.cpp

Engine/source/Verve/Extension/Camera/VCameraShakeTrack.cpp

More...

Detailed Description

Public Functions

IMPLEMENT_CONOBJECT(VCameraShakeTrack )

  1
  2//-----------------------------------------------------------------------------
  3// Verve
  4// Copyright (C) 2014 - Violent Tulip
  5//
  6// Permission is hereby granted, free of charge, to any person obtaining a copy
  7// of this software and associated documentation files (the "Software"), to
  8// deal in the Software without restriction, including without limitation the
  9// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 10// sell copies of the Software, and to permit persons to whom the Software is
 11// furnished to do so, subject to the following conditions:
 12//
 13// The above copyright notice and this permission notice shall be included in
 14// all copies or substantial portions of the Software.
 15//
 16// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 17// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 18// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 19// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 20// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 21// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 22// IN THE SOFTWARE.
 23//-----------------------------------------------------------------------------
 24#include "Verve/Extension/Camera/VCameraShakeTrack.h"
 25#include "Verve/Extension/Camera/VCameraShakeEvent.h"
 26
 27//-----------------------------------------------------------------------------
 28IMPLEMENT_CONOBJECT( VCameraShakeTrack );
 29//-----------------------------------------------------------------------------
 30
 31VCameraShakeTrack::VCameraShakeTrack( void )
 32{
 33    setLabel( "CameraShakeTrack" );
 34}
 35
 36//-----------------------------------------------------------------------------
 37//
 38// Camera Methods.
 39//
 40//-----------------------------------------------------------------------------
 41
 42//-----------------------------------------------------------------------------
 43// 
 44// VCameraShakeTrack::onCameraEvent( pEvent );
 45// 
 46// When the Camera changes, this method is called on both the outgoing and
 47// incoming Camera Groups.
 48// 
 49// For a full list of possible events, see the 'eCameraEventType' declaration
 50// in VCameraGroup.h.
 51// 
 52//-----------------------------------------------------------------------------
 53bool VCameraShakeTrack::onCameraEvent( const VCameraGroup::eCameraEventType &pEvent )
 54{
 55    // Parent Call.
 56    if ( !Parent::onCameraEvent( pEvent ) )
 57    {
 58        // Skip.
 59        return false;
 60    }
 61
 62    // Enabled?
 63    if ( !isEnabled() )
 64    {
 65        // Continue Processing Events.
 66        return true;
 67    }
 68
 69    switch( pEvent )
 70    {
 71        case VCameraGroup::k_EventActivate :
 72            {
 73
 74                VCameraShakeEvent *event;
 75                if ( getCurrentEvent( event ) )
 76                {
 77                    // Re-Trigger Event.
 78                    event->onTrigger( getControllerTime(), 0 );
 79                }
 80
 81            } break;
 82
 83        case VCameraGroup::k_EventDeactivate :
 84            {
 85
 86                // Stop Camera Shake.
 87                VTorque::stopCameraShake();
 88
 89            } break;
 90    }
 91
 92    return true;
 93}
 94
 95//-----------------------------------------------------------------------------
 96//
 97// Controller Methods.
 98//
 99//-----------------------------------------------------------------------------
100
101//-----------------------------------------------------------------------------
102// 
103// VCameraShakeTrack::onControllerReset( pTime, pForward );
104// 
105// Stop all camera shake events.
106// 
107//-----------------------------------------------------------------------------
108void VCameraShakeTrack::onControllerReset( const S32 &pTime, const bool &pForward )
109{
110    // Default Reset.
111    Parent::onControllerReset( pTime, pForward );
112
113    // Stop Camera Shake.
114    VTorque::stopCameraShake();
115}
116