mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 10:34:30 +08:00
- 将 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 配置文件 - 在主项目文件中排除新抽象模块的编译和资源文件以避免重复包含
55 lines
1.6 KiB
C#
55 lines
1.6 KiB
C#
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)
|
||
{
|
||
}
|
||
} |