Appel
Conditions.weapon.numericObservation(value)
Enregistrez la dépendance Conditions.weapon.numericObservation, 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
Accepts a readable, nonnegative, finite number from a weapon observation and returns it unchanged; anything else becomes nil with a reason.
Arguments
| Nom | Type | Ce qu'elle fait |
|---|---|---|
value | any | Observed value, such as an expiration time or swing speed. |
Retours
| 1 | number | nil | The value, or nil when it is not usable. |
|---|---|---|
| 2 | string | nil | Reason for nil: restricted-value or invalid-weapon-observation. |
É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
- Temps restant de l'enchantement d'arme (evaluate)
local duration,why=numericObservation(expires) - Cumuls de l'enchantement d'arme (evaluate)
local count,why=numericObservation(charges) Conditions.weapon.swingSpeedreturn numericObservation(speed)
Source
Conditions/weapon.lua, ligne 81. En lecture seule dans le jeu ; Dupliquer crée une copie modifiable.
Conditions.weapon.numericObservation(value)
if not addon.Platform:CanReadValue(value) then return nil,"restricted-value" end
if type(value)~="number" or value~=value or value<0 or value==math.huge then return nil,"invalid-weapon-observation" end
return value