2026-07-07 18:36:15 +08:00
|
|
|
# 技能系统
|
|
|
|
|
|
|
|
|
|
## 分类
|
|
|
|
|
|
|
|
|
|
- 核心框架
|
|
|
|
|
|
|
|
|
|
## 目的
|
|
|
|
|
|
|
|
|
|
为角色、怪物等实体提供统一的技能管理、冷却控制、释放接口和事件通知。
|
|
|
|
|
|
|
|
|
|
## 核心组成
|
|
|
|
|
|
|
|
|
|
| 类/结构 | 职责 |
|
|
|
|
|
|---------|------|
|
|
|
|
|
| `HFGenericSkillSystem` | 通用技能系统,继承 `AbsHFSkillSystem<HFGenericSkillModel>` |
|
|
|
|
|
| `HFGenericSkillModel` | 通用技能模型,继承 `HFAbsModel` |
|
|
|
|
|
| `HFEvent_OnSkillUsed` | 技能使用事件 |
|
|
|
|
|
| `stSkillConfig` | 技能配置结构 |
|
|
|
|
|
|
2026-07-15 14:39:16 +08:00
|
|
|
## 使用规则
|
2026-07-07 18:36:15 +08:00
|
|
|
|
2026-07-15 14:39:16 +08:00
|
|
|
- 角色和怪物使用同一套技能系统接口。
|
|
|
|
|
- 技能 ID 在项目中应保持唯一。
|
|
|
|
|
- 技能效果逻辑应在事件处理器中实现,避免直接写在释放器里。
|
|
|
|
|
- 合理设置冷却时间以平衡游戏体验。
|
2026-07-07 18:36:15 +08:00
|
|
|
|
|
|
|
|
## 子系统边界
|
|
|
|
|
|
|
|
|
|
从实体系统角度看,技能相关子目录通常包括:
|
|
|
|
|
|
|
|
|
|
- `Models/Skill` — 技能数据模型
|
|
|
|
|
- `Systems/Skill` — 技能系统逻辑
|
|
|
|
|
- `HFSkillTrigger_*` — 技能触发器
|
|
|
|
|
- `HFSkill_*_Releaser` — 技能释放器
|
|
|
|
|
|
2026-07-15 14:39:16 +08:00
|
|
|
## 详细文档
|
2026-07-07 18:36:15 +08:00
|
|
|
|
2026-07-15 14:39:16 +08:00
|
|
|
- [使用指南](使用指南.md) — API 详情、配置加载、事件结构与最佳实践
|
|
|
|
|
- [实体系统](../实体系统/README.md) — 技能系统作为实体子系统的添加方式
|
|
|
|
|
- [事件系统](../事件系统/README.md) — 技能使用事件依赖事件系统
|
|
|
|
|
- [数据/配置框架](../数据配置框架.md) — 技能配置来源
|
2026-07-07 18:36:15 +08:00
|
|
|
|
|
|
|
|
## 文档关联
|
|
|
|
|
|
|
|
|
|
> 当本文档发生变更时,应同步检查以下关联文档,避免信息不一致。
|
|
|
|
|
|
|
|
|
|
| 文档 | 关联原因 |
|
|
|
|
|
|---|---|
|
|
|
|
|
| [modules/模块索引.md](../../模块索引.md) | 模块索引是项目知识总入口 |
|
2026-07-15 14:39:16 +08:00
|
|
|
| [modules/frameworks/技能系统/使用指南.md](使用指南.md) | 本模块的详细 API 与使用说明 |
|
2026-07-07 18:36:15 +08:00
|
|
|
| [modules/frameworks/实体系统/README.md](../实体系统/README.md) | 技能系统是实体系统的子系统 |
|
|
|
|
|
| [modules/frameworks/事件系统/README.md](../事件系统/README.md) | 技能使用事件依赖事件系统 |
|
2026-07-15 14:39:16 +08:00
|
|
|
| [modules/frameworks/数据配置框架.md](../数据配置框架.md) | 技能配置来源 |
|
2026-07-07 18:36:15 +08:00
|
|
|
| [rules/10-架构说明.md](../../../rules/10-架构说明.md) | 架构说明定义总体分层和依赖方向 |
|
|
|
|
|
| [rules/30-模块登记规则.md](../../../rules/30-模块登记规则.md) | 模块登记规则定义分类和状态口径 |
|