Модуль:Entity Sprite/all: различия между версиями
Pok (обсуждение | вклад) Нет описания правки |
Pok (обсуждение | вклад) Нет описания правки |
||
| Строка 214: | Строка 214: | ||
end | end | ||
local function | local function getFirstSpriteAndState(entry) | ||
local spritePath = getSpritePath(entry) | |||
local states = getSpriteStates(entry) | local states = getSpriteStates(entry) | ||
if not states | |||
if not spritePath then | |||
return nil, nil | |||
end | |||
if states and #states > 0 and states[1].state then | |||
return spritePath, states[1].state | |||
end | |||
if entry and entry.state then | |||
return spritePath, tostring(entry.state) | |||
end | |||
return spritePath, nil | |||
end | |||
local function buildLinkedSpriteValue(entry, baseUrl) | |||
local spritePath, stateName = getFirstSpriteAndState(entry) | |||
if not spritePath then | |||
return nil | return nil | ||
end | end | ||
local | local pathLink = "[" .. baseUrl .. spritePath .. " " .. spritePath .. "]" | ||
if stateName and stateName ~= "" then | |||
local stateLink = "[" .. baseUrl .. spritePath .. "/" .. stateName .. ".png " .. stateName .. "]" | |||
return pathLink .. " (" .. stateLink .. ")" | |||
end | end | ||
return | return pathLink | ||
end | end | ||
| Строка 253: | Строка 268: | ||
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]]") | |||
end | end | ||
| Строка 267: | Строка 276: | ||
local firstEntry = group[1].entry | local firstEntry = group[1].entry | ||
local prefix = getPrefix(firstId, project) | local prefix = getPrefix(firstId, project) | ||
local spriteValue = | local spriteValue = buildLinkedSpriteValue(firstEntry, baseUrl) or "" | ||
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 .. | |||
"}}" | "}}" | ||
)) | )) | ||