From 932971c8722aef992f23b53d9615d5d5a30da325 Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Tue, 1 Jul 2025 10:26:30 +0800 Subject: [PATCH] use generic parameter in FilamentApp for renderableManager/transformManager/etc, and only expose as getters in the interface --- .../src/implementation/ffi_filament_app.dart | 10 +------- .../filament/src/interface/filament_app.dart | 25 +++++++------------ 2 files changed, 10 insertions(+), 25 deletions(-) diff --git a/thermion_dart/lib/src/filament/src/implementation/ffi_filament_app.dart b/thermion_dart/lib/src/filament/src/implementation/ffi_filament_app.dart index ef15f833..c0b31365 100644 --- a/thermion_dart/lib/src/filament/src/implementation/ffi_filament_app.dart +++ b/thermion_dart/lib/src/filament/src/implementation/ffi_filament_app.dart @@ -53,15 +53,7 @@ class FFIFilamentApp extends FilamentApp { this.ubershaderMaterialProvider, this.renderTicker, this.nameComponentManager, - Future Function(String uri)? loadResource) - : super( - engine: engine, - gltfAssetLoader: gltfAssetLoader, - renderer: renderer, - transformManager: transformManager, - lightManager: lightManager, - renderableManager: renderableManager, - ubershaderMaterialProvider: ubershaderMaterialProvider) { + Future Function(String uri)? loadResource) { this._loadResource = loadResource ?? defaultResourceLoader; } diff --git a/thermion_dart/lib/src/filament/src/interface/filament_app.dart b/thermion_dart/lib/src/filament/src/interface/filament_app.dart index c2bf2e48..608b0006 100644 --- a/thermion_dart/lib/src/filament/src/interface/filament_app.dart +++ b/thermion_dart/lib/src/filament/src/interface/filament_app.dart @@ -28,22 +28,13 @@ class FilamentConfig { abstract class FilamentApp { static FilamentApp? instance; - final T engine; - final T gltfAssetLoader; - final T renderer; - final T transformManager; - final T lightManager; - final T renderableManager; - final T ubershaderMaterialProvider; - - FilamentApp( - {required this.engine, - required this.gltfAssetLoader, - required this.renderer, - required this.transformManager, - required this.lightManager, - required this.renderableManager, - required this.ubershaderMaterialProvider}); + T get engine; + T get gltfAssetLoader; + T get renderer; + T get transformManager; + T get lightManager; + T get renderableManager; + T get ubershaderMaterialProvider; /// /// @@ -369,4 +360,6 @@ abstract class FilamentApp { /// [setSkybox] is called. /// Future buildSkybox({Texture? texture = null}); + + }