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;
+
}