mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-13 15:44:36 +00:00
Adds a TypeSimObjectPtr type for easy reference to other objects as a field.
This commit is contained in:
parent
de0fe06bc8
commit
b3bc199975
2 changed files with 27 additions and 0 deletions
|
|
@ -710,6 +710,31 @@ ConsoleSetType( TypeColorI )
|
||||||
Con::printf("Color must be set as { r, g, b [,a] }, { r g b [b] } or { stockColorName }");
|
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
|
// TypeSimObjectName
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -123,6 +123,8 @@ DefineConsoleType( TypeColorF, ColorF )
|
||||||
DefineConsoleType( TypeSimObjectName, SimObject* )
|
DefineConsoleType( TypeSimObjectName, SimObject* )
|
||||||
DefineConsoleType( TypeShader, GFXShader * )
|
DefineConsoleType( TypeShader, GFXShader * )
|
||||||
|
|
||||||
|
DefineConsoleType(TypeSimObjectPtr, SimObject*)
|
||||||
|
|
||||||
/// A persistent reference to an object. This reference indirectly goes
|
/// A persistent reference to an object. This reference indirectly goes
|
||||||
/// through the referenced object's persistent ID.
|
/// through the referenced object's persistent ID.
|
||||||
DefineConsoleType( TypeSimPersistId, SimPersistID* )
|
DefineConsoleType( TypeSimPersistId, SimPersistID* )
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue