namespace System.Runtime.CompilerServices { // 这个类用于支持C# 9.0中的init访问器和记录类型功能 internal static class IsExternalInit; } namespace GFramework.Game.Abstractions.assets { /// /// 资源目录类,用于定义和管理游戏中的场景和资源标识符 /// public static class AssetCatalog { /// /// 资源标识符接口,定义了资源路径的访问接口 /// public interface IAssetId { /// /// 获取资源的路径 /// string Path { get; } } /// /// 资源目录映射结构体,用于存储资源目录的键值对映射关系 /// /// 资源目录的键 /// 资源标识符 public readonly record struct AssetCatalogMapping(string Key, IAssetId Id); /// /// 场景页面资源标识符结构体,用于标识场景页面资源 /// /// 场景页面资源路径 public readonly record struct ScenePageId(string Path) : IAssetId; /// /// 场景单元资源标识符结构体,用于标识场景单元资源 /// /// 场景单元资源路径 public readonly record struct SceneUnitId(string Path) : IAssetId; /// /// 通用资源标识符结构体,实现IAssetId接口 /// /// 资源路径 public readonly record struct AssetId(string Path) : IAssetId; } }