mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-04-29 08:15:44 +00:00
Adds a onPostAdd callback to simObject so we can do handling AFTER the object and it's children have been added successfully.
This commit is contained in:
parent
bab55d46a9
commit
86dd8a8cf7
2 changed files with 8 additions and 0 deletions
|
|
@ -994,6 +994,7 @@ breakContinue:
|
|||
// This error is usually caused by failing to call Parent::initPersistFields in the class' initPersistFields().
|
||||
Con::warnf(ConsoleLogEntry::General, "%s: Register object failed for object %s of class %s.", getFileLine(ip), currentNewObject->getName(), currentNewObject->getClassName());
|
||||
delete currentNewObject;
|
||||
currentNewObject = NULL;
|
||||
ip = failJump;
|
||||
// Prevent stack value corruption
|
||||
CSTK.popFrame();
|
||||
|
|
@ -1094,6 +1095,9 @@ breakContinue:
|
|||
|
||||
case OP_FINISH_OBJECT:
|
||||
{
|
||||
if (currentNewObject)
|
||||
currentNewObject->onPostAdd();
|
||||
|
||||
//Assert( objectCreationStackIndex >= 0 );
|
||||
// Restore the object info from the stack [7/9/2007 Black]
|
||||
currentNewObject = objectCreationStack[ --objectCreationStackIndex ].newObject;
|
||||
|
|
|
|||
|
|
@ -606,6 +606,10 @@ class SimObject: public ConsoleObject, public TamlCallbacks
|
|||
/// Called when the object's name is changed.
|
||||
virtual void onNameChange(const char *name);
|
||||
|
||||
/// Called when the adding of the object to the sim is complete, all sub-objects have been processed as well
|
||||
// This is a special-case function that only really gets used with Entities/BehaviorObjects.
|
||||
virtual void onPostAdd() {}
|
||||
|
||||
///
|
||||
/// Specifically, these are called by setDataField
|
||||
/// when a static or dynamic field is modified, see
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue