Call as
Platform.glyphs.layout(info)
Record the dependency Platform.glyphs.layout, then call it by that name. A namespaced call does not pass self: use a colon call or pass the object yourself.
What it does
Maps client information to the position in the GetGlyphSocketInfo result that holds the glyph spell ID. It recognizes only progression-family Wrath (3.4.0-3.4.3), Cataclysm (4.4.0-4.4.2) and Mists (5.5.0-5.5.4) clients whose version string and interface number agree, returning 3 for Wrath and 4 for Cataclysm and Mists; every other client returns nil.
Arguments
| Name | Type | What it does |
|---|---|---|
info | table | Client information from addon.Platform:GetClientInfo() (projectId, family, expansion, version, interface). |
Returns
| 1 | number | nil | Return position of the glyph spell ID, or nil for an unsupported client layout. |
|---|
Editions
Built In helpers are registered on every edition. What differs is the game API they read; where one is missing the helper falls back or returns nil with a reason.
It reads no game API directly.
How the addon calls it
Platform.glyphs.GetGlyphSocketSnapshotlocal position=layout(self:GetClientInfo())
Source
Platform/glyphs.lua, line 51. Read only in game; Duplicate makes an editable copy.
Platform.glyphs.layout(info)
local editions={
[11]={expansion=2,prefix='3.4.',last=3,base=30400,position=3},
[14]={expansion=3,prefix='4.4.',last=2,base=40400,position=4},
[19]={expansion=4,prefix='5.5.',last=4,base=50500,position=4},
}
local edition=editions[info.projectId]
if not edition or info.family~='progression' or info.expansion~=edition.expansion then return nil end
for patch=0,edition.last do
if info.version==edition.prefix..patch and info.interface==edition.base+patch then return edition.position end
end