Skip to content

横向拓展

扩展(Extensions) 位于 Assets/RocPlay/Extensions/,以 独立 *.asmdef 存在:扩展程序集引用主程序集 RocPlay反向不成立——RocPlay.asmdefreferences 为空,主程序集内的 Services / Managers 源码不 using RocPlay.Extensions.*。能力通过 工程侧引用扩展 + [RocImplementation](若实现类已标注)或 手动 RocCenter.Register<,> / new 接入(见各专页)。

逻辑分层上与主程序集的关系见 设计理念 · 分层架构(文中 横向扩展 一节)。


接入步骤(通用)

  1. Unity 依赖:若扩展依赖 UPM 包(如 AddressablesInput System),先在 Package Manager 安装。
  2. 程序集引用:在业务或游戏的 *.asmdefreferences 中加入目标扩展名(与磁盘 asmdefname 字段 一致)。
  3. 注册:带 [RocImplementation] 的类型会随 RocPlay.* 程序集被 RocImplementationFinder 扫描(见 服务容器(RocCenter)); 标注者须在 RegisterManagers / RegisterServices 等中 手动注册,或自行包装为插件生命周期。

全部扩展(专页索引)

15 个程序集,完整表格见 扩展一览

专页程序集摘要
远程包RemotePackageZIP 版本检查、下载、校验、解压(多为 new,非 IRocManager
模块资源编排ResourceManifestIRocResourceManifestManager,依赖 IRocResourceService
AddressablesAddressablesResourceIRocResourceService Priority 100
配置中心ConfigIRocConfigManager
SessionSessionIRocSessionManager[RocImplementation]
动作输入ActionInputIRocActionInputManager,新 Input System
TaskTaskIRocTaskManager / IRocTaskQueueAPI 与并发语义注册与队列协作示例
LocalizationLocalizationIRocLocalizationManager(非 IRocManager
AnalyticsAnalyticsIRocAnalyticsManager(常需手动注册)
RuntimeViewerRuntimeViewerIRocRuntimeViewer(常需手动注册)
AOPAOP拦截器与特性,开发期横切
CommandCommandIRocCommand 与执行器(执行器与命令管理器撤销重做与边界
ReactiveReactiveIRocLinkableRocLinkableProperty操作符Unity 绑定
ComponentSystemComponentSystem对象型 Entity-Component(实体与组件协作注册与生命周期
ECSECS数据导向 ECS(数据与系统管线注册与生命周期

规则摘要

  • 编译隔离:主程序集 引用扩展;扩展 引用 RocPlay
  • 协作:插件与扩展之间 硬依赖;优先 接口 + RocEventBus
  • 扩展之间:避免 asmdef 环依赖
  • 事实源:磁盘 *.asmdef 与扩展源码。

本站相关


下一步