调用方式
Conditions.specialization.specName(id)
记录依赖项 Conditions.specialization.specName,然后按该名称调用。带命名空间的调用不会传入 self:请使用冒号调用,或自行传入该对象。
作用
Names a specialization for SPECIALIZATION descriptions: the platform's display name and icon, else the built-in localized name, else "specialization N". Returns nil when id is not a valid specialization ID.
参数
| 名称 | 类型 | 作用 |
|---|---|---|
id | any | Saved specialization ID. |
返回值
| 1 | string | nil | Specialization name, or nil for an invalid ID. |
|---|---|---|
| 2 | number | string | nil | Icon, only when the platform supplied display data. |
版本
内置辅助函数在每个版本上都会注册。不同的是它们读取的游戏 API;某个 API 缺失时,辅助函数会改用后备方案,或返回 nil 并附上原因。
它不直接读取任何游戏 API。
插件如何调用它
- 专精 (print)
Functions.presentation.nullable((specName(value.spec)), L["<specialization>"])) Conditions.specialization.classChoicesif SPECS[id][1]==class then choices[id]=specName(id);order[#order+1]=id end
依赖项
SPECS(builtin:Conditions/specialization.lua:SPECS)specID→Conditions.specialization.specID
源码
Conditions/specialization.lua,第 152 行。在游戏中为只读;“复制”会生成一份可编辑的副本。
Conditions.specialization.specName(id)
if not specID(id) then return nil end
local listed=SPECS[id]
if listed and listed[3]=="Initial" then return L["No specialization"] end
local display=addon.Platform.GetSpecializationDisplay and addon.Platform:GetSpecializationDisplay(id)
if display then return display.name,display.icon end
local known=SPECS[id]
if known then return L[known[3]] end
return string.format(L["specialization %d"],id)