调用方式
Functions.presentation.predicate(operator, primary)
将其记录为名为 Functions.presentation.predicate 的依赖项(接受自动补全即可完成),然后按该名称调用。
作用
为具名条件短语创建一个带类型的比较判断。肯定措辞使用原先捕获的运算符映射,否定措辞使用当前取反后的运算符映射。主要判断优先于限定词;只有第一个符合条件的判断会被取反。未知运算符使用现有的运算符占位符。这只格式化措辞,不比较值也不评估条件。
参数
| 名称 | 类型 | 作用 |
|---|---|---|
operator | string | 比较运算符键,例如 EQUALS 或 LESSTHAN。 |
primary | boolean | nil | 为 true 时标记要取反的主要比较;为 false 或 nil 时,仅当不存在主要判断时它才有资格被取反。 |
返回值
| 1 | RMConditionPredicate | 用作具名短语值的临时带类型判断;不要将其作为条件数据保存。 |
|---|
版本
内置辅助函数在每个版本上都会注册。不同的是它们读取的游戏 API;某个 API 缺失时,辅助函数会改用后备方案,或返回 nil 并附上原因。
它不直接读取任何游戏 API。
插件如何调用它
- 增益效果剩余时间 (print)
comparison = AuraSummary.predicate(value.operator), - 增益效果层数 (print)
comparison = AuraSummary.predicate(value.operator, true), - 背包中有物品 (print)
comparison = Summary.predicate(value.operator, true), - 减益效果剩余时间 (print)
comparison = AuraSummary.predicate(value.operator), - 减益效果层数 (print)
comparison = AuraSummary.predicate(value.operator, true), - 扩展角色属性 (print)
comparison = ECSLabels.predicate(value.operator, true), - 扩展角色属性百分比 (print)
comparison = ECSLabels.predicate(value.operator, true), - 物品冷却 (print)
comparison = Summary.predicate(value.operator, true),
以及另外 9 处: 范围内的生命值 (print), 范围内的生命值百分比 (print), 范围内的生命值百分比计数 (print), 范围内的生命值计数 (print), 范围内的法力值 (print), 范围内的法力值百分比 (print), 范围内的法力值百分比计数 (print), 范围内的法力值计数 (print), 已装备的套装件数 (print)
依赖项
operators(builtin:Functions/presentation.lua:operators)
源码
Functions/presentation.lua,第 94 行。在游戏中为只读;“复制”会生成一份可编辑的副本。
Functions.presentation.predicate(operator, primary)
local positive=addon.nullable(operators[operator], L["<operator>"])
return addon:CreateConditionSummaryPredicate(positive, (addon.negatedOperators or {})[operator], primary)