主题
资源服务(IRocResourceService)
- 接口:
RocPlay.Services.Resource.IRocResourceService,继承IRocService - 默认实现:
RocResourceService,[RocImplementation(typeof(IRocResourceService), Priority = 0)] - 源码目录:
Assets/RocPlay/Services/Resource/
归档与 Phase2 对外文档都强调一条主线:默认 Resources 开箱,Addressables 用更高 Priority 覆盖;本站分册按「加载链路 → 静态门面 → 扩展概述 → 示例」展开,而不是与其它服务共用同一套通用小标题。
最小心智模型
- Bootstrap 之后才有服务:优先使用
RocResource.*语法糖;底层实例在核心与实现注册完成后可通过RocResource.ServiceInstance获取。 address是键:默认走Resources路径语义;换 Addressables 时须与编目 Address 对齐。- 加载与释放成对:长生命周期资源
UnloadAsset/Clear与场景切换策略要事先想好。 - 静态门面
RocResource:RocPlay命名空间下转发同一IRocResourceService,与直接 Resolve 二选一即可。 - 扩展覆盖:更高
Priority的[RocImplementation(typeof(IRocResourceService))]可替换默认实现,见 Addressables 资源。
职责(摘要)
提供 UnityEngine.Object 子类资源的异步加载、预载、按标签批量加载、引用计数、卸载与调试用泄漏检查。默认实现基于 Resources,不依赖 UPM Addressables;需要 Addressables 时引用扩展 RocPlay.Extensions.AddressablesResource 并采用更高 Priority 的实现。
分册(按阅读顺序)
| 顺序 | 分册 | 说明 |
|---|---|---|
| 1 | 加载与引用 | 成员表、address、引用与卸载 |
| 2 | RocResource 静态门面 | RocResource 与 ServiceInstance 的使用边界 |
| 3 | Addressables 扩展概述 | Priority 覆盖关系与阅读分工 |
| 4 | 示例 | 最小加载与释放 |
历史归档:Docs/99-Archive/Services/Resource.md(口吻不同,事实以源码与本站为准)。
→ 基础服务总览