调用方式
Platform.glyphs.layout(info)
记录依赖项 Platform.glyphs.layout,然后按该名称调用。带命名空间的调用不会传入 self:请使用冒号调用,或自行传入该对象。
作用
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.
参数
| 名称 | 类型 | 作用 |
|---|---|---|
info | table | Client information from addon.Platform:GetClientInfo() (projectId, family, expansion, version, interface). |
返回值
| 1 | number | nil | Return position of the glyph spell ID, or nil for an unsupported client layout. |
|---|
版本
内置辅助函数在每个版本上都会注册。不同的是它们读取的游戏 API;某个 API 缺失时,辅助函数会改用后备方案,或返回 nil 并附上原因。
它不直接读取任何游戏 API。
插件如何调用它
Platform.glyphs.GetGlyphSocketSnapshotlocal position=layout(self:GetClientInfo())
源码
Platform/glyphs.lua,第 51 行。在游戏中为只读;“复制”会生成一份可编辑的副本。
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