Модуль:Entity Sprite/all: различия между версиями
Pok (обсуждение | вклад) Нет описания правки |
Pok (обсуждение | вклад) Нет описания правки |
||
| Строка 16: | Строка 16: | ||
local parts = {} | local parts = {} | ||
if | local function addField(name, value) | ||
if value ~= nil then | |||
table.insert(parts, name .. "=" .. tostring(value)) | |||
end | |||
end | end | ||
addField("sprite", normalizeSpritePath(entry.sprite)) | |||
addField("state", entry.state) | |||
addField("scale", entry.scale) | |||
addField("enableOverrideDir", entry.enableOverrideDir) | |||
addField("overrideDir", entry.overrideDir) | |||
if entry.layers and type(entry.layers) == "table" then | if entry.layers and type(entry.layers) == "table" then | ||
| Строка 27: | Строка 35: | ||
for k, v in pairs(layer) do | for k, v in pairs(layer) do | ||
layerParts[#layerParts+1] = k .. "=" .. tostring(v) | if type(v) ~= "table" then | ||
layerParts[#layerParts + 1] = k .. "=" .. tostring(v) | |||
end | |||
end | end | ||
| Строка 34: | Строка 44: | ||
end | end | ||
table.sort(layers) | table.sort(layers) | ||
table.insert(parts, "layers=" .. table.concat(layers, "|")) | table.insert(parts, "layers=" .. table.concat(layers, "|")) | ||
end | end | ||
table.sort(parts) | |||
return table.concat(parts, ";") | return table.concat(parts, ";") | ||
end | end | ||
| Строка 50: | Строка 57: | ||
if entry.layers and type(entry.layers) == "table" then | if entry.layers and type(entry.layers) == "table" then | ||
for _, layer in ipairs(entry.layers) do | for _, layer in ipairs(entry.layers) do | ||
if layer.visible ~= false then | if layer.visible ~= false and layer.state then | ||
table.insert(result, { | table.insert(result, { | ||
state = tostring(layer.state | state = tostring(layer.state), | ||
sprite = normalizeSpritePath(layer.sprite or entry.sprite) | sprite = normalizeSpritePath(layer.sprite or entry.sprite) | ||
}) | }) | ||
| Строка 59: | Строка 66: | ||
elseif entry.state and entry.sprite then | elseif entry.state and entry.sprite then | ||
table.insert(result, { | table.insert(result, { | ||
state = tostring(entry.state | state = tostring(entry.state), | ||
sprite = normalizeSpritePath(entry.sprite) | sprite = normalizeSpritePath(entry.sprite) | ||
}) | }) | ||
| Строка 65: | Строка 72: | ||
return (#result > 0) and result or nil | return (#result > 0) and result or nil | ||
end | |||
local function getSpritePath(entry) | |||
return normalizeSpritePath(entry.sprite) | |||
end | end | ||