GwWuYou 8c8555985d refactor(assets): 将系统组件重构为工具组件以优化架构设计
- 重命名 AbstractAssetCatalogSystem 为 AbstractAssetCatalogUtility 并继承 AbstractContextUtility
- 重命名 IAssetCatalogSystem 为 IAssetCatalogUtility 并继承 IContextUtility 接口
- 重命名 IResourceFactorySystem 为 IResourceFactoryUtility 并继承 IContextUtility 接口
- 重命名 AbstractResourceFactorySystem 为 AbstractResourceFactoryUtility 并调整依赖注入方式
- 重命名 IResourceLoadSystem 为 IResourceLoadUtility 并继承 IContextUtility 接口
- 重命名 ResourceLoadSystem 为 ResourceLoadUtility 并更新内部日志输出信息
- 移除 AbstractAudioManagerSystem 和 IAudioManagerSystem 相关代码
- 更新所有相关依赖注入和类型引用以匹配新的工具组件架构
2026-01-09 19:31:46 +08:00

94 lines
3.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using GFramework.Core.Abstractions.utility;
namespace GFramework.Game.Abstractions.assets;
/// <summary>
/// 资产目录工具接口,提供对场景单元、场景页面和普通资产的管理功能
/// 继承自IUtility接口用于处理资产目录相关的操作
/// </summary>
public interface IAssetCatalogUtility : IContextUtility
{
/// <summary>
/// 根据指定的键获取场景单元标识符
/// </summary>
/// <param name="key">用于查找场景单元的键值</param>
/// <returns>返回与指定键对应的场景单元标识符</returns>
AssetCatalog.SceneUnitId GetSceneUnit(string key);
/// <summary>
/// 根据指定的键获取场景页面标识符
/// </summary>
/// <param name="key">用于查找场景页面的键值</param>
/// <returns>返回与指定键对应的场景页面标识符</returns>
AssetCatalog.ScenePageId GetScenePage(string key);
/// <summary>
/// 根据指定的键获取资源ID
/// </summary>
/// <param name="key">用于查找资源的键值</param>
/// <returns>返回对应的资源ID如果未找到则返回默认值</returns>
AssetCatalog.AssetId GetAsset(string key);
/// <summary>
/// 注册场景单元到资产目录中
/// </summary>
/// <param name="key">场景单元的唯一标识键</param>
/// <param name="path">场景单元资源的路径</param>
public void RegisterSceneUnit(string key, string path);
/// <summary>
/// 通过资产目录映射注册场景单元
/// </summary>
/// <param name="mapping">包含场景单元信息的资产目录映射对象</param>
public void RegisterSceneUnit(AssetCatalog.AssetCatalogMapping mapping);
/// <summary>
/// 注册场景页面模板
/// </summary>
/// <param name="key">场景页面的唯一标识键</param>
/// <param name="path">场景页面资源路径</param>
void RegisterScenePage(string key, string path);
/// <summary>
/// 通过资产目录映射注册场景页面
/// </summary>
/// <param name="mapping">包含场景页面信息的资产目录映射对象</param>
void RegisterScenePage(AssetCatalog.AssetCatalogMapping mapping);
/// <summary>
/// 注册普通资产资源到资产目录中
/// </summary>
/// <param name="key">资产的唯一标识键值</param>
/// <param name="path">资产资源的路径</param>
void RegisterAsset(string key, string path);
/// <summary>
/// 根据映射配置注册普通资产资源到资产目录中
/// </summary>
/// <param name="mapping">包含键值和路径映射关系的配置对象</param>
void RegisterAsset(AssetCatalog.AssetCatalogMapping mapping);
/// <summary>
/// 检查是否存在指定键的场景单元
/// </summary>
/// <param name="key">用于查找场景单元的键值</param>
/// <returns>存在返回true否则返回false</returns>
bool HasSceneUnit(string key);
/// <summary>
/// 检查是否存在指定键的场景页面
/// </summary>
/// <param name="key">用于查找场景页面的键值</param>
/// <returns>存在返回true否则返回false</returns>
bool HasScenePage(string key);
/// <summary>
/// 检查是否存在指定键的资源
/// </summary>
/// <param name="key">用于查找资源的键值</param>
/// <returns>存在返回true否则返回false</returns>
bool HasAsset(string key);
}