跳到主要内容

内置节点库

GCS · Built-In Node Library

GCS 内置 140+ FlowGraph 节点,分布在 Add Node 菜单的九个组里。本页按创作目标整理这些节点,帮助你快速定位合适的节点家族。

面向已经明确卡牌、状态或敌人行为,并想快速找到节点名的内容作者。

把这一页当作内置节点集的索引。分组表说明各节点家族负责的创作问题;各详情页列出每个节点的输入、输出、常见搭配,以及换用其他节点更合适的边界。

这里的每个名字都是 Add Node 菜单名,与 FlowGraph 窗口里的拼写完全一致。实际图会混用多个节点家族。demo 卡牌 Poison Arrow 从一个 Entry 出发,用两个 Action 节点完成玩法工作,再用 FX 节点组成的效果块表现每次状态变化:

Poison Arrow 的行为图:混用 Entry 节点、Deal Damage 与 Change Status 两个 Action,以及 FX 效果块

菜单名,不是类名

MutatorNodeSourceNodeSelectorNode 这类扩展基类只在你用 C# 编写自定义节点时才重要。那部分 API 在自定义节点


九个菜单组

详情页想做这件事时用它……
Entry入口与 Hook在战斗、回合、卡牌、单位、状态、能量或事件时机之后启动图
Hook入口与 Hook在 GCS 提交某个数值前拦截它、修改它或取消它
ActionAction 节点改变战斗状态:伤害、HP、护甲、能量、卡牌、状态、变量、回合、单位
GetGet 节点读取战斗状态:单位、卡牌、状态、牌堆、变量、事件参数
OperatorFlow、Operator、Intent 与 Event 节点计算、比较、过滤、排序、选取和转换值
FlowFlow、Operator、Intent 与 Event 节点用分支、循环、序列、选择、等待和 switch 组织执行顺序
FXFX 与表现节点请求 VFX、SFX、动画、浮动文字、单位移动和镜头反馈
IntentFlow、Operator、Intent 与 Event 节点构建敌人的意图预览和行为模式
EventFlow、Operator、Intent 与 Event 节点触发(Raise)GCS 内部事件或 GES 事件

Group 是唯一一个不从此菜单添加的内置节点。选中两个或多个节点并按 Ctrl+G,即可把它们打包成一个可折叠的 Group;它随 Flow 节点一并介绍。

四个详情页共用同一种表格格式。每一行给出菜单名、玩法职责、通常要配置的输入与设置、向后传递的输出、常见搭配节点,以及一条"何时避免"的边界,帮助图保持语义准确。


全部内置节点,按组列出

Action(27 个)

Add Cards, Cancel Hook, Change Armor, Change Energy, Change HP, Change Status, Deal Damage, Despawn Unit, Draw Cards, End Turn, Extra Turn, Kill Unit, Modify Card Cost, Move Cards, Play Card, Reapply Status, Remove Cards, Remove Statuses, Replay Card, Revive Unit, Set Variable, Shuffle Draw Pile, Skip Next Turn, Spawn Unit, Transform Card, Upgrade Cards, Write Hook.

Entry(33 个)

On Armor Gained, On Armor Lost, On Attack Taken, On Battle End, On Battle Start, On Card Added To Deck, On Card Added To Hand, On Card Discarded, On Card Drawn, On Card Exhausted, On Card Played, On Card Retained, On Damage Dealt, On Damage Taken, On Discard Phase, On Draw Phase, On Draw Pile Shuffled, On Enemy Behavior Start, On Energy Gained, On Energy Spent, On GES Event, On HP Gained, On HP Lost, On Internal Event, On Status Expired, On Status Inflicted, On Status Received, On Status Removed, On Status Stacks Changed, On Turn End, On Turn Start, On Unit Died, On Unit Spawned.

Hook(18 个)

Armor Gain Hook, Armor Loss Hook, Armor Reset Hook, Attack Taken Hook, Card Cost Hook, Card Playable Hook, Damage Dealt Hook, Damage Taken Hook, Draw Count Hook, Energy Gain Hook, Energy Per Turn Hook, Energy Spend Hook, Hand Size Hook, HP Gain Hook, HP Loss Hook, Inflict Status Hook, Receive Status Hook, Status Damage Hook.

Get(19 个)

Active Team, Active Turn, Active Unit, All Enemies, All Units, Card Info, Card Piles, Cards Drawn This Turn, Cards Played This Turn, Deck Cards, Event Arg, Opponent Unit, Player Energy, Self Unit, Status Info, This Card, Unit Info, Unit Status Stacks, Variable.

Operator(22 个)

Clamp, Condition, Constant, Contains, Convert, Count, Exclude, Filter, Is Empty, Logic, Make Collection, Math Binary, Math Unary, Merge Collections, Pick Element, Random, Random Elements, Ref Equal, Select, Shuffle, Sort, Take.

Flow(10 个)

Branch, Choice, Delayed Trigger, Foreach, Gate, Loop, Sequence, Switch, Wait, While.

FX(7 个)

Flash Unit, Play Animation, Play SFX, Play VFX, Shake Camera, Show Floating Text, Slide Unit.

Intent(6 个)

Every N Turns, HP Threshold Pattern, Leaf Intent, Once Per Battle, Sequence Pattern, Weighted Random Pattern.

Event(2 个)

Raise GES Event, Raise Internal Event.

Group(1 个)

Group。通过选中节点并按 Ctrl+G 创建,不从 Add Node 菜单添加。


选能直说本意的节点

优先选择直接描述玩家可见行为的节点。两个节点可以在屏幕上打出同一个数字,对规则引擎却意味着完全不同的事:

目标从这里开始不要从这里开始
造成伤害Deal DamageChange HP,除非设计明确要绕过伤害规则
治疗单位正数 AmountChange HP负数的 Deal Damage
增减状态层数Change Status直接改变量
动态改变卡牌费用Card Cost HookWrite HookModify Card Cost,除非你要的是定时修正
在值改变之后响应Entry 节点从不写入的 Hook 节点
在值提交之前改它Hook 节点加 Write Hook事后才触发的 Entry 节点

区别之所以重要,是因为 Hook、护甲和状态只会在对应管线中参与结算。Deal Damage 会经过这些规则;Change HP 则用于绕过伤害管线、直接改变 HP。


自定义节点进的是同一个菜单

自定义节点和内置节点并排出现在同一个 Add Node 菜单里。一个自定义节点继承某个 authoring 基类,声明 [Serializable],并挂上 [FlowNode(category, displayName)]。当节点行为接近某个已有家族时复用已有 category;只有它代表新的创作概念时才新增 category。

自定义端口的命名沿用内置节点的词汇:TargetAmountCardsStatusDurationResultBodyDone。一个泄漏序列化细节或运行时类名的端口名,会逼着以后的每个作者用 C# 思维而不是卡牌设计思维来读图。完整创作契约见自定义节点