# 资源管理使用指南 ## 一、AssetBundle 资源加载 ### 1.1 加载资源示例 ```csharp public class ResourceLoader : MonoBehaviour { public void LoadPlayerModel(int resId, Action onLoaded) { // 通过 HFFunCatalogue 统一入口加载资源 // resId: 从 Res 配置表中读取的资源 ID HFFunCatalogue.Asset.LoadAsset(resId, (res, obj) => { if (obj != null) { GameObject model = res.GetAsset(); onLoaded?.Invoke(model); } else { Debug.LogError($"加载失败: resId={resId}"); } }); } } ``` ### 1.2 实体资源加载示例 ```csharp // 在 Entity 中加载资源 HFFunCatalogue.Asset.LoadAsset(data.EntityRes.Id, (res, obj) => { if (!entity.isDeath) { var Boddy = res.GetAsset(); data.SetBoddy(Boddy); } }); ``` --- ## 二、资源管理 API ### 2.1 常用方法 | 类别 | 管理器 | 常用方法 | |-----|-------|---------| | **资源** | `HFABMgr` | `LoadAsset()`, `OnStartLoad()` | ### 2.2 资源加载流程 ``` 资源加载流程: OnStartLoad(request) │ ▼ 检查缓存 → 获取/创建 HFAssetLoader │ ▼ loader.AddRequest(request) │ ▼ loader.LoadAsset() → 异步加载 │ ▼ 加载完成 → 回调处理 ``` --- ## 三、资源管理注意事项 ### 3.1 性能优化建议 - 及时释放不再使用的资源 - 使用异步加载避免卡顿 - 合理使用资源缓存 --- **版本**: v1.0 **生效日期**: 2026年 **适用范围**: GiftGameX 项目业务开发人员 --- ## 文档关联 > 当本文档发生变更时,应同步检查以下关联文档,避免信息不一致。 | 文档 | 关联原因 | |---|---| | [资源管理入口](README.md) | 本文件是资源管理模块的子文档 | | [UI 窗口系统](../UI窗口系统/README.md) | UI 资源加载依赖资源管理 | | [实体系统](../实体系统/README.md) | 实体资源加载依赖资源管理 | | [场景系统](../场景系统.md) | 场景资源加载依赖资源管理 | | [modules/模块索引.md](../../模块索引.md) | 模块索引是项目知识总入口 | | [rules/10-架构说明.md](../../../rules/10-架构说明.md) | 架构说明定义总体分层和依赖方向 | | [rules/30-模块登记规则.md](../../../rules/30-模块登记规则.md) | 模块登记规则定义分类和状态口径 |