feat(startup): 支持等待 ContextLoader 启动
Publish UPM package / publish (push) Successful in 2s

This commit is contained in:
2026-08-28 03:44:10 +08:00
parent 52bda43e3c
commit 57512d9a31
7 changed files with 165 additions and 15 deletions
+6
View File
@@ -17,11 +17,17 @@ ShrinkApp ↔ ShrinkContext 的桥接层:提供当前默认的 ContextLoader
`ShrinkAppSettings.hostingMode` 设为 `ContextLoader`(Inspector 或资产字段)。经典项目默认 `ClassicHost`,行为零变化。
```csharp
// 场景业务等待宿主完成;失败时直接收到启动异常。
await ShrinkAppLoaderBootstrapper.WaitUntilStartedAsync(cancellationToken);
// 运行中按模块开关(宿主与其余模块不重启)
var host = ShrinkAppLoaderBootstrapper.Instance!.Host;
await host.SetModuleDisabledAsync("shrink.network", true);
```
`ShrinkAppLoaderBootstrapper.StartError` 保留最近一次启动异常;启动失败同时发布
`ShrinkAppStartFailedEvent`。调用方不需要轮询 `Host.IsRunning`
## 声明式组合
默认资源名为 `Assets/Resources/ShrinkAppComposition.asset`。组合根先用代码注册安装器或原生组件工厂,Bootstrapper 再应用 Profile;配置文件不能通过类型名反射实例化任意组件。