跳到主要内容

校验与 Where Used

GCS · Authoring

Workbench 提供两类检查:校验报告结构性问题,Used By 面板列出一次修改会影响哪些资产。

适用于编辑共享 GCS 内容的开发者。删除、替换或重命名共享资产前,应先阅读本页。

这两个工具回答不同问题。校验(validation)回答"这个数据库里结构上哪里有问题?";Used By 面板回答"哪些资产在引用当前资产?"。每次进入 Play Mode 前应查看校验;重命名、替换、删除任何可能被依赖的资产前,应先查看 Used By。


校验在哪里出现

Workbench 校验当前模式列表栏中选中的数据库,并把结果显示为窗口页眉上的徽标。存在 Error 时显示 3 Issues,只剩 Warning 时显示 2 Warnings,数据库没有问题时徽标消失。点击徽标会打开问题列表;每一条都带跳转动作:打开问题资产、聚焦问题字段,或在问题位于行为图时直接打开 FlowGraph 编辑器。

一个实用的循环:

  1. 打开正在编辑的模式(Card、Deck、Player、Enemy、Status 或 Encounter)。
  2. 每次编辑后查看徽标,它会随内容实时刷新。
  3. 逐条点开问题,跳转、修复、重复,直到徽标消失或只剩下有意为之的警告。
  4. 进 Play Mode。

引用缺失时,编辑器通常已经能发现。进入运行时后,同一问题会表现为更间接的症状:效果没有生效、奖励界面为空,或列表无法填充。


每个模式查什么

模式ErrorWarning
CardName 为空卡牌 Behavior 里的 FlowGraph 问题
Deck条目没有指定卡牌;Copies 小于 1
PlayerName 为空缺少 Starting Deck;缺少 Template prefab
EnemyName 为空;HP Min 大于 HP Max敌人 Behavior 里的 FlowGraph 问题
StatusDisplay Name 为空Max Stacks 为 0(无限用 -1,或填正数);FlowGraph 问题
Encounter缺少 Player Unit;没有敌方单位缺少 Reward Deck;Difficulty 为空

校验是结构性检查。它能发现卡组条目没有卡,但无法判断卡牌是否平衡、状态是否符合设计、描述是否清楚。面向玩家的质量仍需要人工审阅。


级别含义

级别只有两档:

级别含义
Error内容已损坏或不能安全运行。测试前必须修。
Warning可能是有意为之,但测试前值得做个决定。

Warning 需要明确判断,不应自动忽略。没有奖励卡组,对无奖励测试遭遇战可能是合理配置;对正常胜利流程则通常是错误。编辑器无法判断设计意图,因此不会把这类情况升级为 Error。


Used By 面板

在 Workbench 里选中任意资产,预览列的末尾就是 Used By 折叠区。它列出所有引用当前选中项的资产,每条都标注引用方式:Starting deckReward deckPlayer unitEnemy unitDeck entry ×2Upgrades into this,引用藏在行为图节点里时则显示成 Behavior · Change Status。点击任意一行,就在对应的 Workbench 模式里打开那个资产。

Workbench Status 模式中选中 Strength,Used By 面板逐条列出引用者及其类型:卡牌 Rally、Intimidate、Lord of Ruin,状态 Ritual,敌人 Pyre Effigy、Lantern Sister、Order Knight

它能找到什么,取决于你选中了什么:

选中的资产列出的引用
卡牌包含它的卡组(带份数)、升级成它的卡牌,以及节点引用了它的卡牌 / 状态 / 敌人行为图
卡组把它当初始卡组的玩家单位;把它当奖励卡组的遭遇战
玩家单位派它上场的遭遇战
敌方单位阵容里包含它的遭遇战
状态节点施加或读取它的卡牌 / 状态 / 敌人行为图
遭遇战无。遭遇战是顶层资产,只会被启动,不会被引用。

行为图扫描既识别直接资产引用,也识别按显示名称引用卡牌或状态的节点;它会进入分组查找,并报告具体节点,便于定位图中的引用位置。在演示数据库中选中 Poison 状态时,Poison Arrow 会以 Behavior · Change Status 出现在列表中,因为这张卡的行为图会在打出时施加两层 Poison。

当没有任何资产引用选中项时,面板会明确告知这一点,而不是留空。把这条消息当作可以放心删除的信号,而不是故障。

需要场景上下文

Used By 通过场景 GameCardManager 上注册的数据库解析引用。打开的场景中没有 manager 时,它无法枚举引用,面板会明确提示,而不是显示误导性的空列表。


动手之前先查一遍

要做的事先问 Used By
删除一张卡哪些卡组和行为图还包含它?
重命名或替换一个状态哪些卡牌、敌人或状态会施加它?
重做一个敌人哪些遭遇战派它上场?
换掉一个玩家单位哪些遭遇战以它开局?
编辑一个共享卡组哪些玩家单位和遭遇战从它取牌?

当卡组或状态被多个遭遇战共享时,建议复制副本并在副本上实验。直接修改共享原件会影响所有引用者。


追查运行时症状

战斗表现不符合预期时,先沿内容链排查,再检查图逻辑。多数创作问题来自数据库、卡组或遭遇战引用缺失:

症状可能的创作问题
某张卡从不出现通往这张卡的卡组或玩家单位链路断了。
遭遇战开场没有敌人敌人列表里有缺失引用。
施加状态没有任何效果状态数据库未启用,或某个图指向了错误的状态。
奖励界面没有卡奖励卡组缺失、为空或不可达。
Workbench 列表是空的场景 manager 没有该模式的启用数据库。

排查顺序

  1. 读校验信息。
  2. 用跳转动作落到字段或图上。
  3. 确认被引用的资产存在。
  4. 确认资产位于启用的数据库里。
  5. 确认场景用的是预期的 manager 和遭遇战。
  6. 用能复现问题的最小遭遇战重新测试。

一次只修改一个资产。如果同一轮同时修改卡牌、卡组、玩家单位和遭遇战,就无法判断哪个修改解决了问题,也无法判断哪个修改引入了新问题。


校验替代不了什么

校验的价值是尽早发现结构问题,把后续检查留给逻辑、体验和表现。它不能替代 Play Mode 测试、FlowGraph 逻辑审阅(一个图可以结构正确但逻辑错误)、卡面文字审阅、平衡调试,也不能替代表现层 QA。