mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-23 11:14:30 +08:00
- 添加抽象架构类AbstractArchitecture,提供模型、系统、工具注册框架 - 实现资源目录系统AbstractAssetCatalogSystem,支持场景和资源的注册与查询 - 创建资源工厂系统AbstractResourceFactorySystem,统一管理资源创建与预加载逻辑 - 定义资源标识符结构体SceneId和ResourceId,用于类型安全的资源引用 - 建立资源加载系统ResourceLoadSystem,提供资源加载、缓存和实例化功能 - 设计工厂注册表Registry,支持资源工厂的注册、解析和批量预加载 - 实现系统间依赖注入机制,确保各组件协同工作 - 添加完整的接口定义IAssetCatalogSystem、IResourceFactorySystem和IResourceLoadSystem
36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
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();
|
||
}
|