use generic parameter in FilamentApp for renderableManager/transformManager/etc, and only expose as getters in the interface

This commit is contained in:
Nick Fisher
2025-07-01 10:26:30 +08:00
parent 7ed120e854
commit 932971c872
2 changed files with 10 additions and 25 deletions

View File

@@ -53,15 +53,7 @@ class FFIFilamentApp extends FilamentApp<Pointer> {
this.ubershaderMaterialProvider,
this.renderTicker,
this.nameComponentManager,
Future<Uint8List> Function(String uri)? loadResource)
: super(
engine: engine,
gltfAssetLoader: gltfAssetLoader,
renderer: renderer,
transformManager: transformManager,
lightManager: lightManager,
renderableManager: renderableManager,
ubershaderMaterialProvider: ubershaderMaterialProvider) {
Future<Uint8List> Function(String uri)? loadResource) {
this._loadResource = loadResource ?? defaultResourceLoader;
}

View File

@@ -28,22 +28,13 @@ class FilamentConfig<T, U> {
abstract class FilamentApp<T> {
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<T> {
/// [setSkybox] is called.
///
Future<Skybox> buildSkybox({Texture? texture = null});
}