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