mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-19 20:24:49 +00:00
Adds a TypeSimObjectPtr type for easy reference to other objects as a field.
This commit is contained in:
parent
de0fe06bc8
commit
b3bc199975
|
|
@ -710,6 +710,31 @@ ConsoleSetType( TypeColorI )
|
|||
Con::printf("Color must be set as { r, g, b [,a] }, { r g b [b] } or { stockColorName }");
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// TypeSimObjectPtr
|
||||
//-----------------------------------------------------------------------------
|
||||
ConsoleType(SimObject, TypeSimObjectPtr, SimObject*, "")
|
||||
|
||||
ConsoleSetType(TypeSimObjectPtr)
|
||||
{
|
||||
if (argc == 1)
|
||||
{
|
||||
SimObject **obj = (SimObject **)dptr;
|
||||
*obj = Sim::findObject(argv[0]);
|
||||
}
|
||||
else
|
||||
Con::printf("(TypeSimObjectPtr) Cannot set multiple args to a single S32.");
|
||||
}
|
||||
|
||||
ConsoleGetType(TypeSimObjectPtr)
|
||||
{
|
||||
SimObject **obj = (SimObject**)dptr;
|
||||
static const U32 bufSize = 128;
|
||||
char* returnBuffer = Con::getReturnBuffer(bufSize);
|
||||
dSprintf(returnBuffer, bufSize, "%s", *obj ? (*obj)->getName() ? (*obj)->getName() : (*obj)->getIdString() : "");
|
||||
return returnBuffer;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// TypeSimObjectName
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -123,6 +123,8 @@ DefineConsoleType( TypeColorF, ColorF )
|
|||
DefineConsoleType( TypeSimObjectName, SimObject* )
|
||||
DefineConsoleType( TypeShader, GFXShader * )
|
||||
|
||||
DefineConsoleType(TypeSimObjectPtr, SimObject*)
|
||||
|
||||
/// A persistent reference to an object. This reference indirectly goes
|
||||
/// through the referenced object's persistent ID.
|
||||
DefineConsoleType( TypeSimPersistId, SimPersistID* )
|
||||
|
|
|
|||
Loading…
Reference in a new issue