绑定
在UI的某个文件中,都会发现有bindings这个控件属性,它可以用于绑定硬编码到控件的属性上。这里以 start 屏幕为例:
这个示例中用 #version 硬编码绑定到 text 属性上。然而,这只是个简单的绑定。我们还可以直接赋值到属性上:
我们使用 Toggle 时,通常都会使用到 view 类型的绑定,因为这个类型允许从另一个控件读取硬编码。
在示例中,我们演示了跨控件读取绑定。他将 test_toggle 控件的属性包中的 #toggle_state 转为该控件的 visible 属性。每当改变开关状态时,panel 控件的显示状态就会改变。开关处于开启状态时,panel 控件就会显示,否则不显示。
绑定还有一种情况,它可以读取 网格 或 工厂的绑定:
在示例中,我们使用了 collection 类型读取了 inventory_items 的物品 AUX ID。关于 AUX ID 可以阅读这篇文章了解更多。
绑定属性
接下来,我将数组内的键和值一一列举并解释
属性使用 * 号标注的是必填属性。
属性 | 属性名 | 值 | 默认值 | 描述 |
---|---|---|---|---|
binding_type | 绑定类型 | 字符串:列举 | global | 定义绑定的类型。 列举的值可以是: none 无 global 全局 collection 合集 collection_details 合集详细 view 查看 |
ignored | 忽略 | 布尔值 | false | 是否忽略该绑定。 |
当
属性 | 属性名 | 值 | 默认值 | 描述 |
---|---|---|---|---|
* binding_name | 绑定名 | 字符串 | 储存硬编码的绑定名。 绑定名可用于条件记算。 | |
binding_name_override | 绑定名覆盖 | 字符串 | 将 binding_name 中的值覆盖到另一个绑定名。 通常为控件中的属性,例如: #text、#visible、#enabled | |
binding_condition | 绑定条件 | 字符串:列举 | none | 改变绑定数据的条件。 列举的值可以是: none 无 once 仅一次 always 总是 visible 可见时 always_when_visible 总是在可见时 visibility_changed 可见性改变时 |
当
属性 | 属性名 | 值 | 默认值 | 描述 |
---|---|---|---|---|
* binding_name | 绑定名 | 字符串 | 储存硬编码的绑定名。 绑定名可用于条件记算。 | |
binding_name_override | 绑定名覆盖 | 字符串 | 将 binding_name 中的值覆盖到另一个绑定名。 通常为控件中的属性,例如: #text、#visible、#enabled | |
* binding_collection_name | 绑定合集名 | 字符串 | 要操作的合集的名称。 | |
binding_condition | 绑定条件 | 字符串:列举 | none | 改变绑定数据的条件。 列举的值可以是: none 无 once 仅一次 always 总是 visible 可见时 always_when_visible 总是在可见时 visibility_changed 可见性改变时 |
当
属性 | 属性名 | 值 | 默认值 | 描述 |
---|---|---|---|---|
* binding_collection_name | 绑定合集名 | 字符串 | 要操作的合集的名称。 | |
binding_collection_prefix | 绑定合集前缀 | 字符串 | 要操作的合集的前缀。 | |
binding_condition | 绑定条件 | 字符串:列举 | none | 改变绑定数据的条件。 列举的值可以是: none 无 once 仅一次 always 总是 visible 可见时 always_when_visible 总是在可见时 visibility_changed 可见性改变时 |
当
属性 | 属性名 | 值 | 默认值 | 描述 |
---|---|---|---|---|
source_control_name | 源控件名 | 字符串:控件名 | 用于读取属性值的控件的控件名。 | |
* source_property_name | 源属性名 | 字符串 | source_control_name 中引用的控件的属性包中的属性名。 属性名可用于条件计算。 提示:如果没有指定 source_control_name,则会视为该控件的属性名。 | |
* target_property_name | 目标属性名 | 字符串 | 将 source_property_name 的值覆盖到另一个属性名中。 会把目标属性名储存在该控件的属性包中。 | |
resolve_sibling_scope | 解析兄弟作用域 | 布尔值 | false | 是否解析兄弟作用域。 如果允许解析兄弟作用域,可以直接从兄弟控件中读取绑定属性名,从而忽略 source_control_name 属性读取。 |
操作表达式
内容详见 操作表达式 >
数据类型转换
内容详见 数据类型转换 >