Initial commit
This commit is contained in:
106
Torque/SDK/engine/editor/editor.cc
Normal file
106
Torque/SDK/engine/editor/editor.cc
Normal file
@@ -0,0 +1,106 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// Torque Game Engine
|
||||
// Copyright (C) GarageGames.com, Inc.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include "editor/editor.h"
|
||||
#include "console/console.h"
|
||||
#include "console/consoleInternal.h"
|
||||
#include "gui/controls/guiTextListCtrl.h"
|
||||
#include "platform/event.h"
|
||||
#include "game/shapeBase.h"
|
||||
#include "game/gameConnection.h"
|
||||
|
||||
bool gEditingMission = false;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Class EditManager
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
IMPLEMENT_CONOBJECT(EditManager);
|
||||
|
||||
EditManager::EditManager()
|
||||
{
|
||||
for(U32 i = 0; i < 10; i++)
|
||||
mBookmarks[i] = MatrixF(true);
|
||||
}
|
||||
|
||||
EditManager::~EditManager()
|
||||
{
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
bool EditManager::onWake()
|
||||
{
|
||||
if(!Parent::onWake())
|
||||
return(false);
|
||||
|
||||
for(SimGroupIterator itr(Sim::getRootGroup()); *itr; ++itr)
|
||||
(*itr)->onEditorEnable();
|
||||
|
||||
gEditingMission = true;
|
||||
|
||||
return(true);
|
||||
}
|
||||
|
||||
void EditManager::onSleep()
|
||||
{
|
||||
for(SimGroupIterator itr(Sim::getRootGroup()); *itr; ++itr)
|
||||
(*itr)->onEditorDisable();
|
||||
|
||||
gEditingMission = false;
|
||||
Parent::onSleep();
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
bool EditManager::onAdd()
|
||||
{
|
||||
if(!Parent::onAdd())
|
||||
return(false);
|
||||
|
||||
// hook the namespace
|
||||
const char * name = getName();
|
||||
if(name && name[0] && getClassRep())
|
||||
{
|
||||
Namespace * parent = getClassRep()->getNameSpace();
|
||||
Con::linkNamespaces(parent->mName, name);
|
||||
mNameSpace = Con::lookupNamespace(name);
|
||||
}
|
||||
|
||||
return(true);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
static GameBase * getControlObj()
|
||||
{
|
||||
GameConnection * connection = GameConnection::getLocalClientConnection();
|
||||
ShapeBase* control = 0;
|
||||
if(connection)
|
||||
control = connection->getControlObject();
|
||||
return(control);
|
||||
}
|
||||
|
||||
ConsoleMethod( EditManager, setBookmark, void, 3, 3, "(int slot)")
|
||||
{
|
||||
S32 val = dAtoi(argv[2]);
|
||||
if(val < 0 || val > 9)
|
||||
return;
|
||||
|
||||
GameBase * control = getControlObj();
|
||||
if(control)
|
||||
object->mBookmarks[val] = control->getTransform();
|
||||
}
|
||||
|
||||
ConsoleMethod( EditManager, gotoBookmark, void, 3, 3, "(int slot)")
|
||||
{
|
||||
S32 val = dAtoi(argv[2]);
|
||||
if(val < 0 || val > 9)
|
||||
return;
|
||||
|
||||
GameBase * control = getControlObj();
|
||||
if(control)
|
||||
control->setTransform(object->mBookmarks[val]);
|
||||
}
|
||||
Reference in New Issue
Block a user