expose method for retrieving all child entities

This commit is contained in:
Nick Fisher
2024-03-26 00:24:21 +08:00
parent 849ad6c530
commit b357144a79
13 changed files with 101 additions and 21 deletions

View File

@@ -9,7 +9,9 @@ class SceneImpl extends Scene {
final Gizmo _gizmo;
Gizmo get gizmo => _gizmo;
SceneImpl(this._gizmo);
FilamentController controller;
SceneImpl(this._gizmo, this.controller);
@override
FilamentEntity? selected;
@@ -35,8 +37,9 @@ class SceneImpl extends Scene {
_onUpdatedController.add(true);
}
void unregisterLight(FilamentEntity entity) {
if (selected == entity) {
void unregisterLight(FilamentEntity entity) async {
var children = await controller.getChildEntities(entity, true);
if (selected == entity || children.contains(selected)) {
selected = null;
_gizmo.detach();
}
@@ -45,8 +48,9 @@ class SceneImpl extends Scene {
_onUpdatedController.add(true);
}
void unregisterEntity(FilamentEntity entity) {
if (selected == entity) {
void unregisterEntity(FilamentEntity entity) async {
var children = await controller.getChildEntities(entity, true);
if (selected == entity || children.contains(selected)) {
selected = null;
_gizmo.detach();
}