internal: add check for renderable entity when returning bounding box

This commit is contained in:
Nick Fisher
2024-12-23 12:37:34 +08:00
parent 96fe2c89ea
commit 024643e3a1

View File

@@ -190,8 +190,14 @@ class FFIAsset extends ThermionAsset {
ThermionAsset? _boundingBoxAsset; ThermionAsset? _boundingBoxAsset;
Aabb3 getBoundingBox() { Future<Aabb3> getBoundingBox() async {
final aabb3 = SceneManager_getRenderableBoundingBox(sceneManager, entity); late ThermionEntity targetEntity;
if (RenderableManager_isRenderable(renderableManager, entity)) {
targetEntity = entity;
} else {
targetEntity = (await getChildEntities()).first;
}
final aabb3 = SceneManager_getRenderableBoundingBox(sceneManager, targetEntity);
return aabb3; return aabb3;
} }
@@ -276,6 +282,9 @@ class FFIAsset extends ThermionAsset {
materialInstances: [material], materialInstances: [material],
keepData: false, keepData: false,
); );
TransformManager_setParent(Engine_getTransformManager(engine),
_boundingBoxAsset!.entity, entity, false);
} }
if (visible) { if (visible) {
await _boundingBoxAsset!.addToScene(); await _boundingBoxAsset!.addToScene();