Référence › Référence des fonctions › Platform

Platform.role.readField

dépendance

Appel

Platform.role.readField(self, object, key)

Enregistrez la dépendance Platform.role.readField, 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

Reads object[key] in protected mode, used to look up optional APIs. Returns the value (possibly nil), or nil with "restricted-value" when the object or the value is secret, "invalid-api-result" when object is not a table, or "api-error" when indexing raises an error.

Arguments

NomTypeCe qu'elle fait
selfRMPlatformRotation Master platform adapter (normally addon.Platform), used for its CanReadValue check.
objecttableTable to index; any other type is rejected.
keyanyField name to read.

Retours

1anyThe field value, possibly nil; nil on failure.
2string | nilReason on failure; nil on success.

É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

Source

Platform/role.lua, ligne 19. En lecture seule dans le jeu ; Dupliquer crée une copie modifiable.

Platform.role.readField(self, object, key)
    if not self:CanReadValue(object) then return nil,'restricted-value' end
    if type(object)~='table' then return nil,'invalid-api-result' end
    local ok,value=pcall(function() return object[key] end)
    if not ok then return nil,'api-error' end
    if not self:CanReadValue(value) then return nil,'restricted-value' end
    return value

Retour à Référence des fonctions