Chiamala come
Conditions.specialization.classChoices(class)
Registra la dipendenza Conditions.specialization.classChoices, poi chiamala con quel nome. Una chiamata con spazio dei nomi non passa self: usa una chiamata con i due punti o passa tu l'oggetto.
Cosa fa
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.
Argomenti
| Nome | Tipo | Cosa fa |
|---|---|---|
class | string | Class file token, such as "WARRIOR". |
Valori restituiti
| 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. |
Edizioni
Le funzioni di supporto integrate sono registrate su ogni edizione. Ciò che cambia è l'API di gioco che leggono; dove ne manca una, la funzione di supporto ripiega su un'alternativa o restituisce nil con un motivo.
Non legge direttamente alcuna API di gioco.
Come la chiama l'addon
- Specializzazione (widget)
local choices, order = classChoices(v)
Dipendenze
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
Sorgente
Conditions/specialization.lua, riga 176. Nel gioco è in sola lettura; Duplica crea una copia modificabile.
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