GFramework/GFramework.Game.Abstractions/assets/IResourceFactoryUtility.cs
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

27 lines
1.1 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 System;
using GFramework.Core.Abstractions.utility;
namespace GFramework.Game.Abstractions.assets;
/// <summary>
/// 资源工厂工具接口,提供根据键名或资产目录映射获取资源创建函数的功能
/// 继承自IContextUtility接口用于在游戏框架中管理资源创建工厂
/// </summary>
public interface IResourceFactoryUtility : IContextUtility
{
/// <summary>
/// 根据指定键名获取指定类型T的资源创建函数
/// </summary>
/// <typeparam name="T">要获取创建函数的资源类型</typeparam>
/// <param name="key">用于标识资源的键名</param>
/// <returns>返回一个创建T类型实例的函数委托</returns>
Func<T> GetFactory<T>(string key);
/// <summary>
/// 根据资产目录映射获取指定类型T的资源创建函数
/// </summary>
/// <typeparam name="T">要获取创建函数的资源类型</typeparam>
/// <param name="mapping">资产目录映射信息</param>
/// <returns>返回一个创建T类型实例的函数委托</returns>
Func<T> GetFactory<T>(AssetCatalog.AssetCatalogMapping mapping);
}