Variables
Variables(变量)指的是可以在 Sequine Flow 对象中使用的局部变量,其作用域仅限于该 Sequine Flow 对象。它的概念与编程语言中的变量基本相同。
以下是 Sequine Flow 支持作为变量使用的数据类型列表:
- Boolean
- Integer
- Float
- String
- Vector3
- UnityEngine.Object
创建 Variable
在左侧面板中,我们可以点击 Add New Variable 折叠栏来打开变量创建菜单。需要指定变量名称和数据类型。

点击 Add 按钮后,变量会出现在表格中,在那里我们可以重命名变量并修改其初始值。

使用 Variable
变量的值可以在运行时被修改。要使用和操作变量的值,可以创建两种 Command。这两种 Command 不是通过创建 Command 的上下文菜单生成,而是通过点击变量表格中每一行的箭头按钮生成。

1. Getter
选择 Get 后,会创建一个 getter 类型的 Property Command,可以作为输入属性连接到其他 Command。

通过脚本获取 Variable
using Calcatz.Sequine;
using UnityEngine;
public class VariableExample : MonoBehaviour {
public SequineFlowComponent sequineFlow;
private void Start() {
float myFloat = sequineFlow.GetVariable<float>(3);
Debug.Log("The float value in variable with ID 3 is: " + myFloat);
}
}
自 1.7.2 版本起,也可以通过变量名称获取变量值。
...
float myFloat = sequineFlow.GetVariable<float>("MyFloat");
...
2. Setter
选择 Set 后,会创建一个 setter 类型的 Main Command。它既可以作为输入属性连接到其他 Command,也可以通过 Main Connection(白色连接)参与主流程。当执行时,变量的值将被修改为指定的值。如果 setter 的 in-point 未连接,则会显示一个字段供用户手动输入值。
当然,也可以使用其他 Command 的输出作为赋值来源。

请注意,它还具有一个 property out-point。它的行为与 Getter Command 相同,不同之处在于它返回的是执行 Set 操作后的最终值。
通过脚本设置 Variable
using Calcatz.Sequine;
using UnityEngine;
public class VariableExample : MonoBehaviour {
public SequineFlowComponent sequineFlow;
private void Start() {
sequineFlow.SetVariable<float>(3, 50f);
}
}
自 1.7.2 版本起,也可以通过变量名称设置变量值。
...
sequineFlow.SetVariable<float>("MyFloat", 50f);
...
向 Sub-Flow 传递 Variable
自 1.7.0 版本起,在使用 Run Sub-Flow Command 执行 Sequine Flow 时,我们可以向指定 Sequine Flow 的 Variables 传递输入值。这可以理解为类似在编程中向函数传递参数。
