Appel
Platform.spells.identifier(value, idOnly)
Enregistrez la dépendance Platform.spells.identifier, 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
Validates a spell argument. Accepts a readable positive finite integer spell ID or, unless idOnly is true, a nonempty spell name string. Returns true, or false with "restricted-value" for a secret value or "invalid-spell" for anything else.
Arguments
| Nom | Type | Ce qu'elle fait |
|---|---|---|
value | any | Spell ID or name to validate. |
idOnly | boolean | nil | True accepts numeric spell IDs only and rejects names. |
Retours
| 1 | boolean | True when value is acceptable; false otherwise. |
|---|---|---|
| 2 | string | nil | restricted-value or invalid-spell when rejected. |
É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.
Valeurs secrètes (Retail et Forever)
Sur Retail et Forever, le jeu transmet aux addons des valeurs secrètes. Cette fonction utilitaire vérifie ce qu'elle lit (addon.Platform:CanReadValue) et renvoie nil avec une raison telle que restricted-value au lieu d'une valeur secrète qu'elle ne peut pas comparer. Traitez nil comme indisponible, pas comme false.
Comment l'addon l'appelle
Platform.spells.GetSpellChargeslocal valid,reason=identifier(spell)Platform.spells.GetSpellCooldownlocal valid, reason = identifier(spell)Platform.spells.IsAutoRepeatActivelocal valid,reason=identifier(spellID,true)Platform.spells.cooldownValueslocal valid,reason=identifier(spell)
Dépendances
platform(builtin:Platform/spells.lua:platform)
Source
Platform/spells.lua, ligne 22. En lecture seule dans le jeu ; Dupliquer crée une copie modifiable.
Platform.spells.identifier(value, idOnly)
if not platform:CanReadValue(value) then return false, "restricted-value" end
if type(value) == "number" and value > 0 and value < math.huge and value % 1 == 0 then return true end
if not idOnly and type(value) == "string" and #value > 0 then return true end
return false, "invalid-spell"