Expose SimObjectPtr C-API functions using EngineAPI

This commit is contained in:
Lukas Aldershaab 2023-10-08 19:47:07 +02:00 committed by Brian Roberts
parent 8748a2cac8
commit 87c6884433

View file

@ -42,14 +42,14 @@ namespace Sim
return Sim::getDataBlockGroup()->findObject(StringTable->insert(pName));
}
// EngineAPI doesn't work with SimObjectPtr
TORQUE_API SimObjectPtr<SimObject>* fnWrapObject (SimObject* pObject)
// EngineAPI doesn't work with SimObjectPtr, so use a void* as a transport
DefineNewEngineFunction(WrapObject, void*, (SimObject* pObject), , "")
{
return new SimObjectPtr<SimObject>(pObject);
}
TORQUE_API void fnDeleteObjectPtr(SimObjectPtr<SimObject>* pObjectPtr)
DefineNewEngineFunction(DeleteObjectPtr, void, (void* pObjectPtr), , "")
{
delete pObjectPtr;
delete static_cast<SimObjectPtr<SimObject>*>(pObjectPtr);
}
}
}