when destroying a SceneAsset, if the object is an instance, call destroyInstance on the owner of instance rather than deleting the object directly

This commit is contained in:
Nick Fisher
2025-06-04 10:48:07 +08:00
parent 886a4a37aa
commit d0da7f49f3

View File

@@ -112,7 +112,11 @@ extern "C"
EMSCRIPTEN_KEEPALIVE void SceneAsset_destroy(TSceneAsset *tSceneAsset) {
auto *asset = reinterpret_cast<SceneAsset*>(tSceneAsset);
delete asset;
if(asset->isInstance()) {
asset->getInstanceOwner()->destroyInstance(asset);
} else {
delete asset;
}
}
EMSCRIPTEN_KEEPALIVE void SceneAsset_addToScene(TSceneAsset *tSceneAsset, TScene *tScene) {