trip onadd in additional places

by request,
adds a per object-instance onadd for datablocks if an object instance *also* defines a class.
be mindful not to mix up which namespace is in use there, as you can not tag two different core class instances the same scripted class
implements the same with the same restrictions for simobjects in general
This commit is contained in:
AzaezelX 2025-12-27 09:02:21 -06:00
parent 0fb68936f9
commit 4f639a16b5
4 changed files with 25 additions and 0 deletions

View file

@ -125,6 +125,11 @@ IMPLEMENT_CALLBACK( GameBase, setControl, void, ( bool controlled ), ( controlle
"client controls this object.\n" );
IMPLEMENT_CALLBACK(GameBase, onAdd, void, (SimObjectId ID), (ID),
"Called when this ScriptObject is added to the system.\n"
"@param ID Unique object ID assigned when created (%this in script).\n"
);
GameBaseData::GameBaseData()
{
mCategory = StringTable->EmptyString();
@ -518,6 +523,7 @@ void GameBase::scriptOnAdd()
// everything is ready.
if (mDataBlock && !isGhost())
mDataBlock->onAdd_callback( this );
onAdd_callback(getId());
}
void GameBase::scriptOnNewDataBlock(bool reload)