using GFramework.Core.Abstractions.system;
namespace GFramework.Game.assets;
///
/// 资源工厂系统接口,用于获取指定类型的资源创建函数
///
public interface IResourceFactorySystem : ISystem
{
///
/// 根据指定键名获取指定类型T的资源创建函数
///
/// 要获取创建函数的资源类型
/// 用于标识资源的键名
/// 返回一个创建T类型实例的函数委托
Func GetFactory(string key);
///
/// 根据资产目录映射获取指定类型T的资源创建函数
///
/// 要获取创建函数的资源类型
/// 资产目录映射信息
/// 返回一个创建T类型实例的函数委托
Func GetFactory(AssetCatalog.AssetCatalogMapping mapping);
}