Appel
addon.Platform:GetGlyphSocketSnapshot()
Disponible directement via addon ; aucune dépendance n'est nécessaire.
Ce qu'elle fait
Observe les châsses de glyphe sur les dispositions de client vérifiées de Wrath, Cata et Mists. Renvoie slots et un indicateur complete. Chaque emplacement a active=false s'il est connu comme verrouillé ou vide, active=true avec spellID s'il est occupé, ou active nil avec un motif s'il est indisponible. Les dispositions inconnues et les requêtes de décompte en échec renvoient nil avec un motif. Les noms d'objets ne sont pas comparés et l'identité exacte objet-sort n'est pas prouvée.
Arguments
| Nom | Type | Ce qu'elle fait |
|---|---|---|
self | RMPlatform | Adaptateur de plateforme Rotation Master (implicite avec un appel par deux-points). |
Retours
| 1 | table | nil | Instantané normalisé et borné des châsses, avec slots et complete, ou nil si la requête est indisponible. |
|---|---|---|
| 2 | string | nil | Motif de politique, de validation ou de disponibilité pour un instantané nil. |
É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.
- Indisponible sur cette édition (la raison figure dans l'infobulle)
- Uniquement tant que les solutions de repli de Blizzard pour les fonctions obsolètes sont actives
| API du jeu | |||||
|---|---|---|---|---|---|
GetGlyphSocketInfo | |||||
GetNumGlyphSockets |
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.
Exemple
local snapshot = addon.Platform:GetGlyphSocketSnapshot()
if not snapshot then return nil end
for _, slot in ipairs(snapshot.slots) do
if slot.active and slot.spellID == value.spell then return true end
end
if not snapshot.complete then return nil end
return falseDépendances
integer→Platform.glyphs.integerlayout→Platform.glyphs.layoutsocket→Platform.glyphs.socket
Source
Platform/glyphs.lua, ligne 97. En lecture seule dans le jeu ; Dupliquer crée une copie modifiable.
Platform.glyphs.GetGlyphSocketSnapshot(self)
local position=layout(self:GetClientInfo())
if not position then return nil,'unsupported-glyph-layout' end
if type(GetNumGlyphSockets)~='function' then return nil,'missing-api' end
local ok,count=pcall(GetNumGlyphSockets)
if not ok then return nil,'api-error' end
if not self:CanReadValue(count) then return nil,'restricted-value' end
if count==nil then return nil,'glyph-data-unavailable' end
if not integer(count,0) or count>64 then return nil,'invalid-api-result' end
local fn=GetGlyphSocketInfo
if count>0 and type(fn)~='function' then return nil,'missing-api' end
local result={slots={},complete=true}
for index=1,count do
local record=socket(self,fn,index,position)
result.slots[index]=record
if record.active==nil then result.complete=false end
end
return result




