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

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


return result
return result
end
local function getFirstSpriteAndState(entry)
local spritePath = getSpritePath(entry)
local states = getSpriteStates(entry)
if not spritePath then
return nil, nil
end
if states and #states > 0 and states[1].state then
return spritePath, states[1].state
end
return spritePath, entry and entry.state or nil
end
end


Строка 196: Строка 211:
if #group > 1 then
if #group > 1 then
local idLinks = {}
local idLinks = {}
 
for _, obj in ipairs(group) do
for _, obj in ipairs(group) do
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
 
local firstId = group[1].id
local firstId = group[1].id
local firstEntry = group[1].entry
local prefix = getPrefix(firstId, project)
local prefix = getPrefix(firstId, project)
 
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(
"{{Entity Sprite/Repeat|спрайты=" .. table.concat(idLinks, " ") ..
"{{Entity Sprite/Repeat|спрайты=" .. table.concat(idLinks, " ") ..
"|перенаправление=" .. prefix .. firstId ..
"|перенаправление=" .. prefix .. firstId ..
"|id=" .. firstId ..
"|id=" .. firstId ..
"|спрайт=" .. spriteValue ..
"}}"
"}}"
))
))