- 删除 01~05 旧中文教程目录 - 将 03 核心功能教程拆分为各 framework 模块的子文档 - 06 工具脚本移入 modules/frameworks/编辑器工具/UI工具/ - 非框架内容合并进 rules/20-开发规则.md 与 rules/40-工作流清单.md - 更新所有交叉链接与文档关联表 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
123 lines
4.9 KiB
Markdown
123 lines
4.9 KiB
Markdown
# 塔/角色养成
|
||
|
||
## 分类
|
||
|
||
- 项目功能
|
||
|
||
## 目的
|
||
|
||
记录塔、角色或卡片的升级、升星、技能升级、展示和养成配置。
|
||
|
||
## 已知线索
|
||
|
||
- 逻辑路径:`Assets/Game/GameHFScripte/GameFunction/Logic/TowerLevelUpManager/`
|
||
- 逻辑路径:`Assets/Game/GameHFScripte/GameFunction/Logic/TowerSkillUpManager/`
|
||
- UI 路径:`Assets/Game/GameHFScripte/GameFunction/UIWindows/AvatarItem/`
|
||
- 配置线索:`XLSX_SRC/CN/EntityConfig.xlsx`
|
||
- 配置线索:`XLSX_SRC/CN/SkillGroup.xlsx`、`SkillReleaser.xlsx`、`SkillTrigger.xlsx`、`SkillUp.xlsx`
|
||
|
||
## 已确认内容
|
||
|
||
启动初始化:
|
||
|
||
```text
|
||
HFGameStart.InitManager()
|
||
-> HFTowerStarUpManager.Instance
|
||
-> HFTowerSkillUpManager.Instance
|
||
```
|
||
|
||
协议已生成:
|
||
|
||
- `GetPlayerTower = 4000`
|
||
- `TowerLevelFormation = 4001`
|
||
- `TowerLevelUpLv = 4002`
|
||
- route:
|
||
- `game.player.getTower`
|
||
- `game.player.formationTower`
|
||
- `game.player.levelUpTower`
|
||
|
||
请求/响应字段:
|
||
|
||
```text
|
||
GetPlayerTowerC2S
|
||
-> 无主要字段
|
||
GetPlayerTowerS2C
|
||
-> Formation : repeated long
|
||
|
||
TowerLevelFormationC2S
|
||
-> Formation : repeated long
|
||
TowerLevelFormationS2C
|
||
-> Formation : repeated long
|
||
|
||
TowerLevelUpLvC2S
|
||
-> Id
|
||
TowerLevelUpLvS2C
|
||
-> Id
|
||
-> Formation : repeated long
|
||
```
|
||
|
||
STC 事件:
|
||
|
||
- `HFEvent_STC_GetPlayerTowerS2C`
|
||
- `HFEvent_STC_TowerLevelFormationS2C`
|
||
- `HFEvent_STC_TowerLevelUpLvS2C`
|
||
|
||
配置和实体侧线索:
|
||
|
||
- `Constants` 中有塔相关字段:`BossTowerCardNum`、`BossTowerGetNum`、`TowerRange`、`TowerRectangle`、`NewTowerInitLevel`、`TowerPutEffect*`、`LucySpinSameTower` 等。
|
||
- 实体侧会读取 `EntityConfig`、`Resource`、`SkillGroup`、`SkillReleaser`、`SkillTrigger` 等表来驱动塔实体、模型、AI、技能。
|
||
- 历史/生成代码里存在 `Tower`、`Towerlevel`、`StarUpgrade`、`CardWeight` 等表的读取痕迹,但当前 `ZYXlsxProjectSettings` 登记的 CN 表没有显式列出这些源表,需要确认是否是旧生成残留或表源未纳入当前列表。
|
||
|
||
当前接入状态:
|
||
|
||
- `HFTowerStarUpManager` 主体逻辑几乎全部注释,包括选择塔、显示升级 HUD、读取 `StarUpgrade`、修改实体属性等。
|
||
- `HFTowerSkillUpManager` 主体逻辑也处于注释状态,包括监听 `HFEvent_TowerSkillState` 并修改实体技能能力。
|
||
- `AvatarItem` 的资源路径 attribute 被注释,当前更像 MainWindow 内嵌组件;`SetAvatarFrame` 尚未实装。
|
||
- `CardItem` 有卡片 UI 基础绑定,但 `SetData` 为空。
|
||
- 未发现 `GetPlayerTowerC2S`、`TowerLevelFormationC2S`、`TowerLevelUpLvC2S` 在业务代码中的实际发送点。
|
||
|
||
当前判断:
|
||
|
||
- “塔/角色养成”协议、配置痕迹、实体战斗联动线索都存在。
|
||
- 客户端养成主流程当前未完整实装,或被注释保留。
|
||
- 运行中的塔更偏战斗实体/技能系统;大厅养成、编队、升级 UI 还需要进一步确认产品接入状态。
|
||
|
||
## 梳理任务
|
||
|
||
- [x] 确认“塔”“角色”“卡片”在代码和配置中的对应概念。
|
||
- [x] 梳理塔升级和技能升级的入口。
|
||
- [ ] 梳理升级消耗和背包资源关系。
|
||
- [x] 梳理 Avatar/Card UI 展示数据来源。
|
||
- [x] 梳理养成数据是否同步服务器。
|
||
|
||
## 待确认
|
||
|
||
- `TowerLevelUpManager` / `TowerSkillUpManager` 当前初始化但主体逻辑被注释,需确认是否计划恢复。
|
||
- 升级、升星、技能升级是否属于同一产品功能域,需要结合 UI/策划表确认。
|
||
- 升级消耗、卡片碎片、背包资源之间的真实关系待确认。
|
||
- 养成结果如何同步并影响 PVE 实体属性,需要确认服务端返回和客户端应用链路。
|
||
- `Tower`、`Towerlevel`、`StarUpgrade`、`CardWeight` 等表是否是旧表残留或当前缺失源表。
|
||
|
||
## 相关框架
|
||
|
||
- [实体框架](../../../modules/frameworks/实体系统/README.md)
|
||
- [背包](背包.md)
|
||
- [数据/配置框架](../../../modules/frameworks/数据配置框架.md)
|
||
- [UI 框架](../../../modules/frameworks/UI窗口系统/README.md)
|
||
|
||
---
|
||
|
||
## 文档关联
|
||
|
||
> 当本文档发生变更时,应同步检查以下关联文档,避免信息不一致。
|
||
|
||
| 文档 | 关联原因 |
|
||
|---|---|
|
||
| [modules/模块索引.md](../../../modules/模块索引.md) | 模块索引是项目知识总入口 |
|
||
| [modules/features/背包.md](背包.md) | 背包 |
|
||
| [modules/frameworks/数据配置框架.md](../../../modules/frameworks/数据配置框架.md) | 数据/配置框架 |
|
||
| [modules/frameworks/实体系统/README.md](../../../modules/frameworks/实体系统/README.md) | 实体框架 |
|
||
| [modules/frameworks/UI窗口系统/README.md](../../../modules/frameworks/UI窗口系统/README.md) | UI 框架 |
|
||
| [rules/10-架构说明.md](../../../rules/10-架构说明.md) | 架构说明定义总体分层和依赖方向 |
|
||
| [rules/30-模块登记规则.md](../../../rules/30-模块登记规则.md) | 模块登记规则定义分类和状态口径 |
|
||
| TODO:补充依赖的框架/模块文档 | 如 UI、网络、事件、配置等框架 | |