using GFramework.Core.system; namespace GFramework.Game.assets; /// /// 资源目录系统接口,用于管理场景和资源的获取与查询 /// public interface IAssetCatalogSystem : ISystem { /// /// 根据指定的键获取游戏单位ID /// /// 用于查找游戏单位的键值 /// 返回对应的游戏单位ID,如果未找到则返回默认值 AssetCatalog.GameUnitId GetGameUnit(string key); /// /// 根据指定的键获取模板ID /// /// 用于查找模板的键值 /// 返回对应的模板ID,如果未找到则返回默认值 AssetCatalog.TemplateId GetTemplate(string key); /// /// 根据指定的键获取资源ID /// /// 用于查找资源的键值 /// 返回对应的资源ID,如果未找到则返回默认值 AssetCatalog.AssetId GetAsset(string key); /// /// 注册游戏单位资源到资产目录中 /// /// 游戏单位的唯一标识键值 /// 游戏单位资源的路径 void RegisterGameUnit(string key, string path); /// /// 根据映射配置注册游戏单位资源到资产目录中 /// /// 包含键值和路径映射关系的配置对象 void RegisterGameUnit(AssetCatalog.AssetCatalogMapping mapping); /// /// 注册模板资源到资产目录中 /// /// 模板的唯一标识键值 /// 模板资源的路径 void RegisterTemplate(string key, string path); /// /// 根据映射配置注册模板资源到资产目录中 /// /// 包含键值和路径映射关系的配置对象 void RegisterTemplate(AssetCatalog.AssetCatalogMapping mapping); /// /// 注册普通资产资源到资产目录中 /// /// 资产的唯一标识键值 /// 资产资源的路径 void RegisterAsset(string key, string path); /// /// 根据映射配置注册普通资产资源到资产目录中 /// /// 包含键值和路径映射关系的配置对象 void RegisterAsset(AssetCatalog.AssetCatalogMapping mapping); /// /// 检查是否存在指定键的游戏单位 /// /// 用于查找游戏单位的键值 /// 存在返回true,否则返回false bool HasGameUnit(string key); /// /// 检查是否存在指定键的模板 /// /// 用于查找模板的键值 /// 存在返回true,否则返回false bool HasTemplate(string key); /// /// 检查是否存在指定键的资源 /// /// 用于查找资源的键值 /// 存在返回true,否则返回false bool HasAsset(string key); }