Модуль:Entity Sprite/all: различия между версиями
Pok (обсуждение | вклад) Нет описания правки |
Pok (обсуждение | вклад) Нет описания правки |
||
| Строка 37: | Строка 37: | ||
end | end | ||
local function | local function fileExists(name) | ||
if fileExistsCache[name] ~= nil then | |||
return fileExistsCache[name] | |||
end | end | ||
local title = mw.title.new(name, "File") | |||
local exists = title and title.exists or false | |||
fileExistsCache[name] = exists | |||
return exists | |||
return | |||
end | end | ||
| Строка 101: | Строка 72: | ||
local result = {} | local result = {} | ||
local frame = mw.getCurrentFrame() | |||
for _, group in pairs(spriteGroups) do | for _, group in pairs(spriteGroups) do | ||
| Строка 109: | Строка 81: | ||
local id = obj.id | local id = obj.id | ||
local prefix = getPrefix(id, project) | local prefix = getPrefix(id, project) | ||
table.insert(idLinks, "[[:Файл:" .. prefix .. id .. ".png]]") | table.insert(idLinks, "[[:Файл:" .. prefix .. id .. ".png]]") | ||
end | end | ||
table.insert(result, | table.insert(result, frame:preprocess( | ||
"{{Entity Sprite/Repeat|" .. | "{{Entity Sprite/Repeat|" .. | ||
table.concat(idLinks, " ") .. | table.concat(idLinks, " ") .. | ||
| Строка 158: | Строка 129: | ||
local json = frame.args.json or "sprite_entity.json" | local json = frame.args.json or "sprite_entity.json" | ||
local checkFile = frame.args.checkFile or "" | local checkFile = frame.args.checkFile or "" | ||
if checkFile == "" then checkFile = false end | if checkFile == "" then | ||
checkFile = false | |||
end | |||
local project = JsonPaths.project() | local project = JsonPaths.project() | ||
| Строка 173: | Строка 146: | ||
elseif action == "image" then | elseif action == "image" then | ||
local | local result = {} | ||
for id, entry in pairs(spriteData) do | for id, entry in pairs(spriteData) do | ||
local prefix = getPrefix(id, project) | local prefix = getPrefix(id, project) | ||
local skip = false | |||
if checkFile then | if checkFile then | ||
local fileName = prefix .. id .. ".png" | |||
if fileExists(fileName) then | |||
skip = true | |||
end | |||
end | end | ||
if not skip then | if not skip then | ||
local t = generateTemplate( | local t = generateTemplate(id, entry, baseUrl, project) | ||
if t then | if t then | ||
table.insert(result, t) | table.insert(result, t) | ||