Как вызывать
Conditions.specialization.classChoices(class)
Запишите зависимость Conditions.specialization.classChoices и вызывайте её по этому имени. Вызов через пространство имён не передаёт self: используйте вызов через двоеточие или передайте объект сами.
Что делает
Builds the specialization choices for one class in the SPECIALIZATION editor. Prefers the platform's live list, with icons, and otherwise falls back to the addon's built-in specialization table.
Аргументы
| Имя | Тип | Что делает |
|---|---|---|
class | string | Class file token, such as "WARRIOR". |
Возвращает
| 1 | table | Map of specialization ID to its name, or to {text=name, icon=icon} when the platform supplies an icon. |
|---|---|---|
| 2 | number[] | Specialization IDs in display order. |
Издания
Встроенные помощники регистрируются во всех изданиях. Различается игровой API, который они читают; если нужного API нет, помощник использует запасной вариант или возвращает nil с причиной.
Не читает игровой API напрямую.
Как его вызывает аддон
- Специализация (widget)
local choices, order = classChoices(v)
Зависимости
CLASS_IDS(builtin:Conditions/specialization.lua:CLASS_IDS)SPECS(builtin:Conditions/specialization.lua:SPECS)SPEC_ORDER(builtin:Conditions/specialization.lua:SPEC_ORDER)specName→Conditions.specialization.specName
Исходный код
Conditions/specialization.lua, строка 176. В игре только для чтения; «Дублировать» создаёт редактируемую копию.
Conditions.specialization.classChoices(class)
local choices,order={},{}
local listed=CLASS_IDS[class] and addon.Platform.GetClassSpecializationChoices
and addon.Platform:GetClassSpecializationChoices(CLASS_IDS[class])
if listed and #listed>0 then
for _,spec in ipairs(listed) do
choices[spec.id]=spec.icon and {text=spec.name,icon=spec.icon} or spec.name
order[#order+1]=spec.id
end
return choices,order
end
for _,id in ipairs(SPEC_ORDER) do
if SPECS[id][1]==class then choices[id]=specName(id);order[#order+1]=id end
end
return choices,order