VDirectorEvent.cpp
Engine/source/Verve/Extension/Director/VDirectorEvent.cpp
Public Functions
Detailed Description
Public Functions
IMPLEMENT_CONOBJECT(VDirectorEvent )
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/Core/VGroup.h" 25#include "Verve/Extension/Director/VDirectorEvent.h" 26 27#include "console/consoleTypes.h" 28 29//----------------------------------------------------------------------------- 30IMPLEMENT_CONOBJECT( VDirectorEvent ); 31//----------------------------------------------------------------------------- 32 33VDirectorEvent::VDirectorEvent( void ) : 34 mTarget( String::EmptyString ) 35{ 36 // Void. 37} 38 39void VDirectorEvent::initPersistFields( void ) 40{ 41 Parent::initPersistFields(); 42 43 addField( "Target", TypeRealString, Offset( mTarget, VDirectorEvent ), "The name of the CameraGroup that will be activated upon triggering." ); 44} 45 46//----------------------------------------------------------------------------- 47// 48// Controller Methods. 49// 50//----------------------------------------------------------------------------- 51 52//----------------------------------------------------------------------------- 53// 54// VDirectorEvent::onTrigger( pTime, pDelta ); 55// 56// Cut the camera to the target group. 57// 58//----------------------------------------------------------------------------- 59void VDirectorEvent::onTrigger( const S32 &pTime, const S32 &pDelta ) 60{ 61 Parent::onTrigger( pTime, pDelta ); 62 63 // Fetch Controller. 64 VController *controller = getController(); 65 66 // Valid Target? 67 VCameraGroup *targetGroup = NULL; 68 if ( !controller->getObject( mTarget, targetGroup ) ) 69 { 70 Con::warnf( "VDirectorEvent::onTrigger() - Invalid Target Group specified." ); 71 return; 72 } 73 74 // Change Camera. 75 targetGroup->setActive(); 76} 77