diff --git a/GFramework.Godot/architecture/AbstractArchitecture.cs b/GFramework.Godot/architecture/AbstractArchitecture.cs index 9c26d27..e30cd4e 100644 --- a/GFramework.Godot/architecture/AbstractArchitecture.cs +++ b/GFramework.Godot/architecture/AbstractArchitecture.cs @@ -10,17 +10,21 @@ namespace GFramework.Godot.architecture; public abstract class AbstractArchitecture : Architecture where T : Architecture, new() { private const string ArchitectureName = "__GFramework__Architecture__Anchor"; + /// /// 初始化架构,按顺序注册模型、系统和工具 /// protected override void Init() { - RegisterModels(); - RegisterSystems(); - RegisterUtilities(); AttachToGodotLifecycle(); + InstallModules(); } + /// + /// 安装模块抽象方法,由子类实现具体的模块注册逻辑 + /// + protected abstract void InstallModules(); + /// /// 将架构绑定到Godot生命周期中,确保在场景树销毁时能够正确清理资源 /// 通过创建一个锚节点来监听场景树的销毁事件 @@ -43,20 +47,5 @@ public abstract class AbstractArchitecture : Architecture where T : Archit tree.Root.CallDeferred(Node.MethodName.AddChild, anchor); } - - /// - /// 注册工具抽象方法,由子类实现具体的工具注册逻辑 - /// - protected abstract void RegisterUtilities(); - - /// - /// 注册系统抽象方法,由子类实现具体系统注册逻辑 - /// - protected abstract void RegisterSystems(); - - /// - /// 注册模型抽象方法,由子类实现具体模型注册逻辑 - /// - protected abstract void RegisterModels(); }