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