GwWuYou e2036975ee feat(godot): 新增Godot核心系统架构与资源管理模块
- 添加抽象架构类AbstractArchitecture,提供模型、系统、工具注册框架
- 实现资源目录系统AbstractAssetCatalogSystem,支持场景和资源的注册与查询
- 创建资源工厂系统AbstractResourceFactorySystem,统一管理资源创建与预加载逻辑
- 定义资源标识符结构体SceneId和ResourceId,用于类型安全的资源引用
- 建立资源加载系统ResourceLoadSystem,提供资源加载、缓存和实例化功能
- 设计工厂注册表Registry,支持资源工厂的注册、解析和批量预加载
- 实现系统间依赖注入机制,确保各组件协同工作
- 添加完整的接口定义IAssetCatalogSystem、IResourceFactorySystem和IResourceLoadSystem
2025-12-16 21:38:30 +08:00

36 lines
1.1 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.architecture;
namespace GFramework.Core.Godot.architecture;
/// <summary>
/// 抽象架构类,为特定类型的架构提供基础实现框架
/// </summary>
/// <typeparam name="T">架构的具体类型必须继承自Architecture且能被实例化</typeparam>
public abstract class AbstractArchitecture<T> : Architecture<T> where T : Architecture<T>, new()
{
/// <summary>
/// 初始化架构,按顺序注册模型、系统和工具
/// </summary>
protected override void Init()
{
RegisterModels();
RegisterSystems();
RegisterUtilities();
}
/// <summary>
/// 注册工具抽象方法,由子类实现具体的工具注册逻辑
/// </summary>
protected abstract void RegisterUtilities();
/// <summary>
/// 注册系统抽象方法,由子类实现具体系统注册逻辑
/// </summary>
protected abstract void RegisterSystems();
/// <summary>
/// 注册模型抽象方法,由子类实现具体模型注册逻辑
/// </summary>
protected abstract void RegisterModels();
}