86 lines
1.7 KiB
Markdown
86 lines
1.7 KiB
Markdown
# StrayFog 框架资源管理使用指南
|
|
|
|
## 一、AssetBundle资源加载
|
|
|
|
### 1.1 加载资源示例
|
|
|
|
```csharp
|
|
public class ResourceLoader : MonoBehaviour
|
|
{
|
|
public void LoadPlayerModel(int resId, Action<GameObject> onLoaded)
|
|
{
|
|
// 通过HFFunCatalogue统一入口加载资源
|
|
// resId: 从Res配置表中读取的资源ID
|
|
HFFunCatalogue.Asset.LoadAsset(resId, (res, obj) =>
|
|
{
|
|
if (obj != null)
|
|
{
|
|
GameObject model = res.GetAsset<GameObject>();
|
|
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<GameObject>();
|
|
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项目业务开发人员 |