Модуль:Entity Sprite/all: различия между версиями

Нет описания правки
Нет описания правки
Строка 193: Строка 193:
end
end


return spritePath, entry and entry.state or nil
if entry and entry.state then
return spritePath, tostring(entry.state)
end
 
return spritePath, nil
end
end


local function getRepeatSpriteUrl(entry, baseUrl)
local function buildSpriteValue(entry)
local spritePath = getSpritePath(entry)
local spritePath, stateName = getFirstSpriteAndState(entry)
local states = getSpriteStates(entry)


if not spritePath then
if not spritePath then
Строка 204: Строка 207:
end
end


if states and #states > 0 and states[1].state then
if stateName and stateName ~= "" then
return baseUrl .. spritePath .. "/" .. states[1].state .. ".png"
return spritePath .. " (" .. stateName .. ")"
end
end


if entry and entry.state then
return spritePath
return baseUrl .. spritePath .. "/" .. tostring(entry.state) .. ".png"
end
 
return baseUrl .. spritePath
end
end


local function generateRepeatTemplate(data, project, baseUrl)
local function generateRepeatTemplate(data, project)
local spriteGroups = {}
local spriteGroups = {}


Строка 233: Строка 232:
for _, obj in ipairs(group) do
for _, obj in ipairs(group) do
local id = obj.id
local id = obj.id
local entry = obj.entry
local prefix = getPrefix(id, project)
local prefix = getPrefix(id, project)
local spriteUrl = getRepeatSpriteUrl(entry, baseUrl)


if spriteUrl then
table.insert(idLinks, "[[:Файл:" .. prefix .. id .. ".png]]")
table.insert(idLinks, "[" .. spriteUrl .. " " .. prefix .. id .. "]")
else
table.insert(idLinks, "[[:Файл:" .. prefix .. id .. ".png]]")
end
end
end


Строка 247: Строка 240:
local firstEntry = group[1].entry
local firstEntry = group[1].entry
local prefix = getPrefix(firstId, project)
local prefix = getPrefix(firstId, project)
 
local spriteValue = buildSpriteValue(firstEntry) or ""
local spritePath, stateName = getFirstSpriteAndState(firstEntry)
local spriteValue = spritePath or ""
 
if stateName and stateName ~= "" then
spriteValue = spriteValue .. " (" .. stateName .. ")"
end


table.insert(result, mw.getCurrentFrame():preprocess(
table.insert(result, mw.getCurrentFrame():preprocess(