Appel
Conditions.specialization.classChoices(class)
Enregistrez la dépendance Conditions.specialization.classChoices, puis appelez-la sous ce nom. Un appel par espace de noms ne transmet pas self : utilisez un appel avec deux-points ou passez l'objet vous-même.
Ce qu'elle fait
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.
Arguments
| Nom | Type | Ce qu'elle fait |
|---|---|---|
class | string | Class file token, such as "WARRIOR". |
Retours
| 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. |
Éditions
Les fonctions utilitaires intégrées sont enregistrées sur toutes les éditions. Ce qui diffère, c'est l'API du jeu qu'elles lisent ; quand l'une manque, la fonction utilitaire se rabat sur une alternative ou renvoie nil avec une raison.
Elle ne lit directement aucune API du jeu.
Comment l'addon l'appelle
- Spécialisation (widget)
local choices, order = classChoices(v)
Dépendances
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
Source
Conditions/specialization.lua, ligne 176. En lecture seule dans le jeu ; Dupliquer crée une copie modifiable.
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