主题
核心模块
「核心」指 不依赖业务插件、支撑框架运转的最小闭环:引导(Bootstrap)、容器(RocCenter)、事件总线(RocEventBus)。三者均在 RocPlay.Core(及引导所在程序集)中;命名与生命周期以 Assets/RocPlay/Core 源码为准。
运行期诊断输出、级别与通道等属于 横切能力,本站归入 辅助工具 · 日志,不在本章展开。
三件一套(概念)
| 模块 | 职责摘要 |
|---|---|
| RocBootstrap | MonoBehaviour 启动入口:InitializeCoreServices → 注册 → RocInitPlanner → 按层 Services → Managers → Plugins 解析并执行 Init / Start;Update 中驱动插件与主线程调度;退出时反向 Stop / Dispose 并清理核心设施。 |
| RocCenter | 静态 IoC 容器:Register / Resolve / TryGet、按 [RocImplementation] 与程序集扫描补全映射、RocDependsOn 启动期规划、全局单例存储与构造注入。 |
| RocEventBus | 静态事件总线:Subscribe / Unsubscribe / Fire,按优先级分发;非主线程 Fire 会调度回主线程(与 主线程检查与调度 协作)。 |
RocMainThreadChecker、RocMainThreadDispatcher 源码在 Assets/RocPlay/Core/Threading,专页见 主线程检查与调度。
与容器、规划器配套的 约定特性([RocImplementation]、[RocDependsOn]、[RocLazyInit] 等)集中在 Assets/RocPlay/Core/Attributes,专页见 约定特性(Attributes)。
生命周期约定
IRocService/IRocManager/IRocPlugin等若实现IRocLifecycle,启动期由引导统一调用Init→Start,关闭期Stop,释放走IDisposable.Dispose(以各接口定义为准)。- 插件 实现
IRocPlugin,由RocCenter收集并在引导中参与上述顺序;OnUpdate仅在插件层由RocBootstrap.Update调用。
分册索引
| 分册 | 内容 |
|---|---|
| 启动引导(RocBootstrap) | 启动链、RocBootstrapConfig、懒加载 [RocLazyInit]、关闭顺序 |
| 服务容器(RocCenter) | 注册与解析、多实现优先级、与 IRocService / IRocManager 的关系 |
| 事件总线(IRocEvent) | RocEventBus 静态 API、IRocEvent 载荷、订阅与释放、优先级与线程语义 |
| 核心契约(IRocLifecycle / IRocService / IRocManager / IRocPlugin) | 生命周期统一约定、分层职责与 OnUpdate 边界 |
| 约定特性(Attributes) | RocImplementation / RocDependsOn / RocLazyInit / RocPreferredConstructor / RocConfigPath |
| 主线程检查与调度(RocMainThreadDispatcher) | RocMainThreadChecker / RocMainThreadDispatcher、与 Fire / Update 的衔接 |
| 热重载(RocHotReload) | Editor 热重载静态状态清理、自动生效条件与边界 |
| 可更新基类(RocUpdatable) | 组件更新抽象、更新间隔/暂停/优先级与适用场景 |
深入阅读
- 启动引导(RocBootstrap)
- 服务容器(RocCenter)
- 事件总线(IRocEvent)
- 核心契约(IRocLifecycle / IRocService / IRocManager / IRocPlugin)
- 约定特性(Attributes)
- 主线程检查与调度(RocMainThreadDispatcher)
- 热重载(RocHotReload)
- 可更新基类(RocUpdatable)