feat(core): 引入资源标识符接口和目录映射结构

- 添加 IAssetId 接口定义资源路径访问方式
- 新增 AssetCatalogMapping 结构体用于资源目录键值对映射
- 修改 SceneId 和 ResourceId 结构体实现 IAssetId 接口
- 增强资源管理系统的类型安全性和扩展性
This commit is contained in:
GwWuYou 2025-12-18 19:40:54 +08:00
parent 1e67b8ae52
commit b67c922b09

View File

@ -6,15 +6,34 @@ namespace GFramework.Core.Godot.system;
/// </summary>
public static class AssetCatalog
{
/// <summary>
/// 资源标识符接口,定义了资源路径的访问接口
/// </summary>
public interface IAssetId
{
/// <summary>
/// 获取资源的路径
/// </summary>
string Path { get; }
}
/// <summary>
/// 资源目录映射结构体,用于存储资源目录的键值对映射关系
/// </summary>
/// <param name="Key">资源目录的键</param>
/// <param name="Id">资源标识符</param>
public readonly record struct AssetCatalogMapping(string Key, IAssetId Id);
/// <summary>
/// 场景标识符结构体,用于唯一标识一个场景资源
/// </summary>
/// <param name="Path">场景资源的路径</param>
public readonly record struct SceneId(string Path);
public readonly record struct SceneId(string Path) : IAssetId;
/// <summary>
/// 资源标识符结构体,用于唯一标识一个游戏资源
/// </summary>
/// <param name="Path">游戏资源的路径</param>
public readonly record struct ResourceId(string Path);
public readonly record struct ResourceId(string Path) : IAssetId;
}