GFramework/GFramework.Godot/architecture/AbstractGodotModule.cs
GwWuYou 7299126a18 refactor(assets): 将资源相关抽象移至专用模块
- 将 AssetCatalog.cs、IAssetCatalogSystem.cs、IResourceFactorySystem.cs 和
  ResourceFactory.cs 从 GFramework.Game 移至 GFramework.Game.Abstractions
- 在 GFramework.Game 项目中添加对 GFramework.Game.Abstractions 的引用
- 更新 AbstractAssetCatalogSystem.cs 以使用新的命名空间引用
- 在 GFramework.Godot 项目中添加对 GFramework.Game.Abstractions 的引用
- 更新 ResourceLoadSystem.cs 以使用新的命名空间并修正命名空间声明
- 在解决方案文件中注册新的 GFramework.Game.Abstractions 项目
- 为 GFramework.Game.Abstractions 项目添加 Directory.Build.props 配置文件
- 在主项目文件中排除新抽象模块的编译和资源文件以避免重复包含
2025-12-28 13:24:29 +08:00

55 lines
1.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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