两个 UGameInstanceSubsystem 之间存在依赖(A 在 Initialize() 里要用到 B),
或者插件提供了一个子系统基类、游戏模块想派生它定制——这两种需求在 UE 里都有坑。
下面这套"最派生子系统 + 初始化依赖"的写法是我在做存档系统时趟出来的,但它和存档无关,
任何子系统场景都能套用。
举的例子是:一个 DataLayer 子系统在 Initialize() 里要向存档系统子系统注册自己
("我是一个需要存读的全局对象")。两个坑连环出现。
两个 UGameInstanceSubsystem 之间存在依赖(A 在 Initialize() 里要用到 B),
或者插件提供了一个子系统基类、游戏模块想派生它定制——这两种需求在 UE 里都有坑。
下面这套"最派生子系统 + 初始化依赖"的写法是我在做存档系统时趟出来的,但它和存档无关,
任何子系统场景都能套用。
举的例子是:一个 DataLayer 子系统在 Initialize() 里要向存档系统子系统注册自己
("我是一个需要存读的全局对象")。两个坑连环出现。