调用方式
Functions.presentation.nullable(value, default)
将其记录为名为 Functions.presentation.nullable 的依赖项(接受自动补全即可完成),然后按该名称调用。
也接受以前的命名空间 utils 下的名称。
作用
原样返回存在的值;为 nil 时返回红色的显示占位符。用于可读的条件标签,而不是作为布尔值的后备。
参数
| 名称 | 类型 | 作用 |
|---|---|---|
value | any | 要显示的值;false 会被保留。 |
default | string | nil | 缺失值的显示文本;省略时使用本地化的值占位符。 |
返回值
| 1 | any | 原始的非 nil 值,或一个带颜色的占位字符串。 |
|---|
版本
内置辅助函数在每个版本上都会注册。不同的是它们读取的游戏 API;某个 API 缺失时,辅助函数会改用后备方案,或返回 nil 并附上原因。
它不直接读取任何游戏 API。
插件如何调用它
- 动作上下文 (print)
Functions.presentation.nullable(addon.actionContexts[value.context], L["<action bar>"])) - 任意法术可用 (print)
return string.format(L["%s {{!is|is not}} available"], Functions.presentation.nullable(link, L["<spell>"])) - 任意法术充能 (print)
Functions.presentation.compareString(value.operator, string.format(L["number of charges on %s"], Functions.presentation.nullable(link, L["<spell>"])), Functions.presentation.nullable(value.value))) - 任意法术冷却 (print)
Functions.presentation.compareString(value.operator, string.format(L["cooldown on %s"], Functions.presentation.nullable(link, L["<spell>"])), - 任意法术在射程内 (print)
return string.format(L["%s {{!is|is not}} in range"], Functions.presentation.nullable(link, L["<spell>"])) - 任意法术充能时间 (print)
Functions.presentation.compareString(value.operator, string.format(L["recharge time on %s"], Functions.presentation.nullable(link, L["<spell>"])), - 战斗辅助循环法术 (print)
return string.format(L["%s {{!is|is not}} in Blizzard's Assisted Combat rotation"], Functions.presentation.nullable(link, L["<spell>"])) - 战斗辅助建议 (print)
return string.format(L["Assisted Combat {{!suggests|does not suggest}} %s"], Functions.presentation.nullable(link, L["<spell>"]))
以及另外 120 处: 可攻击 (print), 首领模块首领战阶段 (print), 首领模块计时条 (print), 存在增益效果 (print), 增益效果剩余时间 (print), 增益效果层数 (print), 背包中有物品 (print), 施法中 (print), 施法进度 (print), 施法剩余时间 (print), 施放特定法术 (print), 施法可打断 (print), 引导中 (print), 引导进度 (print), 引导剩余时间 (print), 引导特定法术 (print), 引导可打断 (print), 职业 (print), 单位分类 (print), 队伍中的职业 (print), 战斗中 (print), 战斗动作历史 (print), 战斗动作历史时间 (print), 生物类型 (print), 存在减益效果 (print), 减益效果剩余时间 (print), 减益效果层数 (print), 存在某类减益效果 (print), 距离 (print), 距离内计数 (print), 日月蚀 (print), 扩展角色属性 (print), 扩展角色属性百分比 (print), 敌对 (print), 已装备物品 (print), 变形形态 (print), 雕文 (print), 在队伍中 (print), 队伍计数 (print), 生命值 (print), 生命值百分比 (print), 英雄天赋树 (print), 免疫 (print), 副本 (print), 是同一单位 (print), 物品可用 (print), 物品冷却 (print), 物品在射程内 (print), 史诗钥石等级 (print), 等级 (print), 失控封锁 (print), 失控类型 (print), 法力值 (print), 法力值百分比 (print), 团队标记 (print), 团队标记数量 (print), 宠物法术生效中或待生效 (print), 宠物法术可用 (print), 宠物法术充能 (print), 宠物法术冷却 (print), 宠物法术施放历史 (print), 宠物法术施放历史时间 (print), 宠物法术在射程内 (print), 宠物法术充能时间 (print), 宠物快乐值 (print), 拥有指定名称的宠物 (print), 点数 (print), 能量 (print), 能量百分比 (print), 范围内的盟友 (print), 范围内的生命值 (print), 范围内的生命值百分比 (print), 范围内的生命值百分比计数 (print), 范围内的生命值计数 (print), 范围内的法力值 (print), 范围内的法力值百分比 (print), 范围内的法力值百分比计数 (print), 范围内的法力值计数 (print), PvP 状态 (print), 有抗性 (print), 职责 (print), 符文 (print), 符文冷却 (print), 已雕刻符文 (print), 逃跑者 (print), 等级 (print), 已装备的套装件数 (print), 专精 (print), 法术生效中或待生效 (print), 法术自动重复中 (print), 法术可用 (print), 法术充能 (print), 法术冷却 (print), 法术触发高亮 (print), 法术施放历史 (print), 法术施放历史时间 (print), 法术在射程内 (print), 法术充能时间 (print), Stagger (print), 角色属性 (print), 拥有可偷取的增益效果 (print), 武器攻击间隔 (print), 武器攻击间隔剩余时间 (print), 天赋 (print), 天赋树点数 (print), 仇恨 (print), 仇恨计数 (print), 战斗开始后的时间 (print), 存在图腾 (print), 图腾剩余时间 (print), 存在特定图腾 (print), 特定图腾剩余时间 (print), 距离生命值达到所需时间 (print), 距离生命值百分比达到所需时间 (print), 武器附魔类型 (print), 武器附魔剩余时间 (print), 武器附魔层数 (print), 武器类型 (print), 区域 (print), 区域 PvP (print)
依赖项
color(builtin:utils.lua:color)
源码
Functions/presentation.lua,第 23 行。在游戏中为只读;“复制”会生成一份可编辑的副本。
Functions.presentation.nullable(value, default)
if value == nil then
if default ~= nil then
return color.RED .. default .. color.RESET
else
return color.RED .. L["<value>"] .. color.RESET
end
end
return value