mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 19:03:29 +08:00
将原有的 `GameUnit` 和 `Template` 概念重构为更具体的 `SceneUnit` 和 `ScenePage`, 并更新了相关的注册、查询和接口定义。同时修改了Godot模块中对这些资源的引用方式, 确保整体架构的一致性和可维护性。
48 lines
1.4 KiB
C#
48 lines
1.4 KiB
C#
namespace GFramework.Game.assets;
|
||
|
||
/// <summary>
|
||
/// 资源目录类,用于定义和管理游戏中的场景和资源标识符
|
||
/// </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 ScenePageId(string Path) : IAssetId;
|
||
|
||
|
||
/// <summary>
|
||
/// 场景单元资源标识符结构体,用于标识场景单元资源
|
||
/// </summary>
|
||
/// <param name="Path">场景单元资源路径</param>
|
||
public readonly record struct SceneUnitId(string Path) : IAssetId;
|
||
|
||
/// <summary>
|
||
/// 通用资源标识符结构体,实现IAssetId接口
|
||
/// </summary>
|
||
/// <param name="Path">资源路径</param>
|
||
public readonly record struct AssetId(string Path) : IAssetId;
|
||
|
||
}
|
||
|