Модуль:Entity Sprite: различия между версиями
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 1: | Строка 1: | ||
local p = {} | local p = {} | ||
local cache = mw.cache.new('EntitySpriteCache') | local cache = nil | ||
if mw.cache and mw.cache.new then | |||
cache = mw.cache.new('EntitySpriteCache') | |||
else | |||
cache = { | |||
get = function(key) | |||
return nil | |||
end, | |||
set = function(key, value) | |||
end | |||
} | |||
end | |||
-- Переменные для кэширования в пределах модуля | -- Переменные для кэширования в пределах модуля | ||
| Строка 70: | Строка 81: | ||
end | end | ||
-- Загрузка JSON-данных с кэшированием через mw.cache | -- Загрузка JSON-данных с кэшированием через mw.cache или переменными модуля | ||
local function loadData(filePath) | local function loadData(filePath) | ||
if cachedData then | if cachedData then | ||
| Строка 203: | Строка 214: | ||
entry = dataById[tostring(id)] | entry = dataById[tostring(id)] | ||
else | else | ||
for _, item in ipairs(data) do | for _, item in ipairs(data) do | ||
if tostring(item.id) == tostring(id) then | if tostring(item.id) == tostring(id) then | ||
| Строка 257: | Строка 267: | ||
return nil | return nil | ||
elseif param == "image" and secondaryParam then | elseif param == "image" and secondaryParam then | ||
if dataById and dataById[tostring(secondaryParam)] then | if dataById and dataById[tostring(secondaryParam)] then | ||
local entry = dataById[tostring(secondaryParam)] | local entry = dataById[tostring(secondaryParam)] | ||