Модуль:Entity Sprite: различия между версиями
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 11: | Строка 11: | ||
-- Функция получения пути спрайта | -- Функция получения пути спрайта | ||
local function getSpritePath(entry) | local function getSpritePath(entry) | ||
if | local function findFieldInsensitive(tbl, fieldName) | ||
return | for key, value in pairs(tbl) do | ||
if type(key) == "string" and mw.ustring.lower(key) == mw.ustring.lower(fieldName) then | |||
return value | |||
end | |||
end | |||
return nil | |||
end | |||
local spriteBlock = findFieldInsensitive(entry, "Sprite") or findFieldInsensitive(entry, "Icon") | |||
if spriteBlock then | |||
if spriteBlock.sprite then | |||
return spriteBlock.sprite | |||
elseif spriteBlock.layers then | |||
for _, layer in pairs(spriteBlock.layers) do | |||
if layer.sprite then | |||
return layer.sprite | |||
end | |||
end | end | ||
end | end | ||