第二场战斗
从空场景开始创建六个游戏数据库,再依次创建状态、卡牌、卡组、玩家、敌人与遭遇战,最后进入 Play Mode 验证整场战斗
开始前,先运行一场 Demo 战斗,并确认可以打开 Workbench遭遇战结构
| 资产 | 名称 | 战斗中的作用 |
|---|---|---|
| 卡牌 | Ember Strike | 1 费、带有 Attack 标签的卡牌:造成 6 点伤害并施加 1 层 Embermark |
| 卡组 | Ember Trial Deck | 放入 10 张 Ember Strike,确保始终能抽到 |
| 玩家 | Trial Hero | 使用这副测试卡组的简单玩家单位 |
| 敌人 | Trial Dummy | 会预告并造成少量攻击的可预测敌人 |
| 状态 | Embermark | 卡牌和敌人都可施加的、可见且可叠加的减益 |
| 遭遇战 | Ember Trial | 将上面五类内容资产连接为一场战斗 |
卡牌、玩家和敌人的美术、图标与预制体直接复用 Demo 内容,只创建战斗所需的数据和行为
1. 初始化战斗场景
新建场景,然后打开窗口:
Tools > TinyGiants > GCS > Game Card System
点击 Initialize System,GCS 会创建 GameCardManager、EventSystem、Background、Battle Runtime 和 Battle Fx Directors,并在 Battle Runtime 下加入战斗面板、手牌区、卡牌堆与表现对象

选择 GameCardManager,在 Encounter Bootstrap 中指定一个 Demo 遭遇战,进入 Play Mode 确认战斗正常启动,然后退出 Play Mode,继续创建本场战斗的数据
预设数据库可以直接通过 Active 按钮切换激活状态,因此,你可以直接点击按钮来切换预设数据库的激活状态,而不必去移除它,保留预设数据库也方便随时切回预设内容进行测试
2. 创建游戏数据库
回到 Edit Mode,在 Card、Deck、Player、Enemy、Status 和 Encounter 六个区域中分别点击一次 + New,GCS 会创建以下数据库:
| 区域 | 新建数据库 |
|---|---|
| Card | NewCardDatabase |
| Deck | NewDeckDatabase |
| Player | NewPlayerUnitDatabase |
| Enemy | NewEnemyUnitDatabase |
| Status | NewStatusDatabase |
| Encounter | NewEncounterDatabase |
六个数据库全部挂载后,点击每个预设数据库右侧的 Active,将预设数据库设为 Inactive,新数据库保持 Active。此时每一栏都会显示 1/2 Active:预设数据库仍保留在场景中,Workbench 只读取当前激活的新数据库

打开 Workbench,Card、Deck、Player、Enemy、Status 和 Encounter 模式此时都没有内容,接下来创建的资产会写入刚刚激活的六个数据库

3. 先创建状态
进入 Status 模式,创建 Embermark,并填写:
| 字段 | 值 |
|---|---|
| Name | Embermark |
| Description | Marked by embers. |
| Type | Debuff |
| Tags | Tutorial |
| Icon | Status_Burn |
| Stack Rule | Additive |
| Max Stacks | 9 |
| Decay Rule | Never |
| Show Stack Count | 开启 |
| Behavior | 留空,不添加触发器 |
Embermark 只定义状态和显示规则,后续由卡牌和敌人的 FlowGraph 施加这个状态

4. 创建卡牌
进入 Card 模式,创建 Ember Strike:
| 字段 | 值 |
|---|---|
| Name | Ember Strike |
| Description | Deal 6 damage. Apply 1 Embermark. |
| Cost | 1 |
| Type | Support |
| Rarity | Common |
| Target Mode | Single Enemy Unit |
| Tags | Attack |
| Keywords | 留空 |
| Upgrade | None |
| Icon | Study |
| Template | Support |
Support 是卡牌的 Type,Attack 是它的 Tag,两者是独立字段

点击 Edit FlowGraph,按以下顺序连接节点:
On Card Played → Deal Damage → Change Status → 组节点(Play Effect)
Play VFX → Play SFX → Show Floating Text
| 节点 | 字段 | 值 |
|---|---|---|
| Deal Damage | Target | Opponent |
| Amount | 6 | |
| Ignore Armor | 关闭 | |
| Change Status | Target | Opponent |
| Amount | 1 | |
| Mode | Delta | |
| Status | Embermark | |
| 组节点 | Group Name | Play Effect |
| Exposed Params | 留空 | |
| Play VFX | Target | Opponent |
| Anchor | On Unit | |
| Prefab | VFX_BurnIgnite | |
| Lifetime | 0(自动) | |
| Play SFX | Clip | AttackMage/Mage2 |
| Volume | 1 | |
| Show Floating Text | Target | Opponent |
| Kind | Damage | |
| Content | Amount | |
| Amount | 6 | |
| Text | 留空 | |
| Use Custom Color | 关闭 | |
| Include Sign | 开启 | |
| Scale Multiplier | 1 | |
| Duration Multiplier | 1 | |
| Offset | (0, 0, 0) |
Opponent 指玩家打出卡牌时选择的敌人,将 Deal Damage 的 Dealt 连接到 Show Floating Text 的 Amount,让组节点显示扣除护甲后的实际伤害,再将 Change Status 的流程输出连接到组内 Play VFX 的输入
配置好 Play VFX、Play SFX 和 Show Floating Text 后,选中这三个表现节点并按 Ctrl + G,将其合并为 Play Effect 组节点,伤害与状态变化留在外层,主控制路径会更清楚,复用的表现链也能集中配置,组节点及其暴露参数可参考下一章的 FlowGraph 窗口

5. 创建卡组
进入 Deck 模式,创建 Ember Trial Deck:
| 字段 | 值 |
|---|---|
| Name | Ember Trial Deck |
| Description | Ten Ember Strikes for the second-battle tutorial. |
| Tags | 留空 |
| Icon | Deck_Warrior_Start |
| Cards | Ember Strike × 10 |

6. 创建玩家
进入 Player 模式,创建 Trial Hero:
| 字段 | 值 |
|---|---|
| Name | Trial Hero |
| Description | A tutorial player with a guaranteed Ember Strike draw. |
| Tags | 留空 |
| Icon | Avatar |
| Template | Prefab |
| Base HP | 60 |
| Base Energy | 3 |
| Starting Deck | Ember Trial Deck |
| Energy Name | Energy |
| Energy Description | 留空 |
| Energy Icon | None (Sprite) |
Starting Deck 决定玩家进入战斗时使用哪一副牌,Trial Hero 会从 Ember Trial Deck 中抽取 Ember Strike

7. 创建敌人
进入 Enemy 模式,创建 Trial Dummy:
| 字段 | 值 |
|---|---|
| Name | Trial Dummy |
| Description | A predictable tutorial enemy. |
| Tier | Normal |
| Tags | 留空 |
| Icon | Avatar |
| Template | Prefab |
| HP Min | 24 |
| HP Max | 24 |

点击 Edit FlowGraph,按以下顺序连接节点:
On Enemy Behavior Start → Leaf Intent(Attack)→ Deal Damage → Change Status → 组节点(Play Effect)
Play VFX → Play SFX → Show Floating Text
| 节点 | 字段 | 值 |
|---|---|---|
| Leaf Intent | Intent | Attack |
| Deal Damage | Target | Opponent |
| Amount | 3 | |
| Ignore Armor | 关闭 | |
| Change Status | Target | Opponent |
| Amount | 1 | |
| Mode | Delta | |
| Status | Embermark | |
| 组节点 | Group Name | Play Effect |
| Exposed Params | 留空 | |
| Play VFX | Target | Opponent |
| Anchor | On Unit | |
| Prefab | VFX_ImpactHit | |
| Lifetime | 0(自动) | |
| Play SFX | Clip | HitLight/Hit002 |
| Volume | 1 | |
| Show Floating Text | Target | Opponent |
| Kind | Damage | |
| Content | Amount | |
| Amount | 3 | |
| Text | 留空 | |
| Use Custom Color | 关闭 | |
| Include Sign | 开启 | |
| Scale Multiplier | 1 | |
| Duration Multiplier | 1 | |
| Offset | (0, 0, 0) |
将 Deal Damage 的 Dealt 连接到 Show Floating Text 的 Amount,玩家结束回合前会看到 Attack 意图,之后该行为会造成 3 点伤害、施加 Embermark,再执行 Play Effect 组中的命中特效、音效和实际伤害飘字

8. 组装遭遇战
进入 Encounter 模式,创建 Ember Trial:
| 字段 | 值 |
|---|---|
| Name | Ember Trial |
| Description | A complete second-battle tutorial encounter. |
| Difficulty | Normal |
| Tags | 留空 |
| Icon | Background,同时作为运行时的战斗背景 |
| Player | Trial Hero |
| Enemy Units | Trial Dummy × 1 |
| Reward Deck | Ember Trial Deck |
| Starting Hand Size | 5 |
| Draw Per Turn | 5 |
| Max Hand Size | 10 |
| Starting Energy | 0 |
| Card Reward Count | 3 |
| Armor Decay Rule | ResetOnTurnStart |
| Hand Discard Rule | DiscardOnTurnEnd |
| Enemy Intent Display | Full |
| Animation Gap Per Step | 0.28 秒 |
Full 显示敌人意图图标和数值,IconOnly 只显示图标,Hidden 不显示意图

选择 GameCardManager,在 Encounter Bootstrap 中指定 Ember Trial,进入 Play Mode 时,GCS 会从这个遭遇战读取玩家、敌人、卡组和战斗规则

9. 运行并验证遭遇战
进入 Play Mode,画面中应显示 Trial Hero、Trial Dummy、包含 Ember Strike 的手牌和敌人的 Attack 意图

选择一张 Ember Strike 并指定 Trial Dummy 为目标,卡牌结算后

敌人的 HP 从 24 降至 18,状态栏显示 1 层 Embermark

结束玩家回合,Trial Dummy 的 Attack 会造成 3 点伤害,并向 Trial Hero 施加 1 层 Embermark

确认以下结果全部成立:
- Ember Strike 出现在手牌,消耗 1 点能量并造成 6 点伤害
- 卡牌结算后,敌人身上出现 Embermark
- 敌人行动前显示 Attack 意图
- 玩家结束回合后,敌人造成 3 点伤害并对玩家施加 Embermark
- 遭遇战具有有效预览图像、玩家、敌人、奖励卡组,Console 没有报错