Reference › Function reference › Platform

Platform.glyphs.layout

dependency

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

NameTypeWhat it does
infotableClient information from addon.Platform:GetClientInfo() (projectId, family, expansion, version, interface).

Returns

1number | nilReturn 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

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

Back to Function reference