using GFramework.Core.Abstractions.Architectures; using GFramework.Core.Abstractions.Enums; using GFramework.Core.Architectures; using Godot; namespace GFramework.Godot.Architectures; /// /// 抽象的Godot模块基类,用于定义Godot框架中的模块行为 /// public abstract class AbstractGodotModule : IGodotModule { /// /// 获取模块关联的Godot节点 /// public abstract Node Node { get; } /// /// 安装模块到指定架构中 /// /// 要安装到的架构实例 public abstract void Install(IArchitecture architecture); /// /// 当模块从架构中分离时调用此方法 /// public virtual void OnDetach() { } /// /// 当模块被附加到架构时调用此方法 /// /// 被附加到的架构实例 public virtual void OnAttach(Architecture architecture) { } /// /// 当架构阶段发生变化时调用此方法 /// /// 当前的架构阶段 /// 架构实例 public virtual void OnPhase(ArchitecturePhase phase, IArchitecture architecture) { } /// /// 当架构阶段发生变化时调用此方法 /// /// 当前的架构阶段 public virtual void OnArchitecturePhase(ArchitecturePhase phase) { } }