feat(prefab): 添加人类士兵预制件新组件并调整属性

添加了stun indicator组件到人类士兵预制件,增加modelFacingOffset和useRootMotion属性,
同时修正了狙击手预制件中的modelFacingOffset值从90到45

---

feat(scene): 在核心场景中添加战斗UI和事件系统

向CoreScene场景中添加了Canvas、EventSystem以及相关UI组件,包括Image组件用于UI显示,
同时调整了相机偏移和一些预制件的位置参数

---

docs: 添加第一关战斗UI设计文档和更新代码规范

在CODELY.md中添加了召唤战斗UI的设计规范,在地编文档中详细描述了第一关战斗UI的
层级设计,包括Canvas结构、能量豆系统和召唤交互流程

---

build(deps): 更新项目依赖包

添加了Unity 2D Sprite模块依赖,更新了codely bridge版本至1.0.81
```
This commit is contained in:
huadexuan committed 2026-09-06 23:09:03 +08:00
1 parent 1476a089cb
commit ffb050f636
19 files changed
+1332 -9

No files matched your search

+91
View File
@@ -267,3 +267,94 @@ Z=-25 第一关终点或关底战入口
10. 城堡门廊或主厅入口组合物。
第一版只要完成前 6 类装饰物,就可以搭出有灰石城堡辨识度的地图。其余装饰物用于补充区域差异,不影响核心移动、战斗和召唤流程。
## 十、第一关战斗 UI 层级设计
第一关 UI 采用竖屏屏幕空间界面,不随相机移动。每关固定携带 5 种角色,战斗中固定显示 5 张召唤卡片。
### 1. 整体层级
```text
Canvas(Screen Space - Overlay)
└── BattleHUD
├── TopBar
│ ├── 关卡信息
│ ├── 敌方状态
│ │ ├── 敌方名称
│ │ └── 敌方生命条
│ └── 暂停按钮
└── BottomSummonPanel
├── PanelBackground(召唤栏大框)
├── ManaRow(10 个能量豆)
└── CardRow(5 个角色卡片)
├── RoleCard_01
├── RoleCard_02
├── RoleCard_03
├── RoleCard_04
└── RoleCard_05
WorldSpaceCanvas(按单位生成)
└── 单位头顶生命条与状态提示
```
`WorldSpaceCanvas` 的单位头顶生命条与底部召唤栏分开管理,不把战斗角色的世界空间血条塞进屏幕空间 Canvas。
### 2. 大框、卡片与头像
- `PanelBackground` 使用独立的透明 PNG,只负责召唤栏整体背景和边框。
- 大框内部不放完整角色头像和动态文字,可保留低对比度的 5 个卡位凹槽作为布局提示。
- `RoleCard` 使用一个可复用的卡片外框 Prefab,在 `CardRow` 中复用 5 次。
- 每个角色头像使用独立的透明 PNG,叠加到对应卡片中。
- 能量消耗、角色名称、冷却倒计时和选中状态由 Unity 运行时组件显示,不烘焙进静态图片。
单张角色卡片的推荐层级:
```text
RoleCard
├── CardFrame(通用卡片外框)
├── Portrait(角色透明头像)
├── CostText(能量消耗)
├── CooldownMask(冷却遮罩)
├── SelectedHighlight(选中高亮)
└── Button(点击区域)
```
### 3. 能量豆设计
- 最大能量为 10 个能量豆。
- 10 个能量豆统一使用蓝色,与主角普攻的蓝色能量球保持一致。
- 已拥有的能量显示为明亮蓝色,未拥有的能量显示为暗蓝色或半透明。
- 能量按固定时间回复 1 个,不能超过上限 10。
- 召唤卡点击后先播放主角召唤动画,真正执行 `OnSkillHit1` 并成功生成单位时再扣除能量。
- 召唤资源独立于 `WorldHealthBar` 的角色技能能量,不使用同一条数值。
```text
ManaRow
├── ManaBead_01
├── ManaBead_02
├── ……
└── ManaBead_10
```
### 4. 召唤交互流程
```text
点击 RoleCard
→ 检查能量和卡片冷却
→ 记录要召唤的角色
→ 播放主角 skill 动画
→ 动画 Event 调用 OnSkillHit1
→ 扣除能量并生成召唤单位
→ 更新卡片冷却与能量豆显示
```
电脑调试阶段,键盘 `1/2` 与卡片按钮调用同一个召唤请求,不保留两套独立逻辑。召唤动画播放期间暂时禁止重复请求,避免一次动画生成多个单位。
### 5. 第一版布局原则
- 底部召唤栏固定在安全区域内,不随主角和相机移动。
- 召唤栏高度控制在屏幕底部约 20%~25%,不能遮挡主角、敌人和投射物轨迹。
- 能量豆放在 5 张角色卡片上方,形成“能量 → 卡片”的直接操作关系。
- 5 张卡片水平排列,保持相同尺寸和间距。
- 顶部只放关卡信息、敌方状态和暂停按钮,不增加技能、背包或属性入口。
- 所有 UI 美术资源优先使用透明 RGBA PNG;动态文字、数字、冷却和能量状态由 Unity 运行时绘制。