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

Материал из Space Station 14 Вики
мНет описания правки
мНет описания правки
Строка 1: Строка 1:
local data = mw.loadData("Module:Entity Sprite/data")
local data = mw.loadData("Module:Entity Sprite/data")
local p = {}
local p = {}


function p.getData()
function p.getData()
     return data
     return data
end
local function getSpritePath(entry)
    if entry.Sprite and entry.Sprite.sprite then
        return entry.Sprite.sprite
    elseif entry.Icon and entry.Icon.sprite then
        return entry.Icon.sprite
    elseif entry.Sprite and entry.Sprite.layers then
        for _, layer in pairs(entry.Sprite.layers) do
            if layer.sprite then
                return layer.sprite
            end
        end
    end
    return nil
end
end


Строка 13: Строка 27:
     for _, entry in ipairs(data) do
     for _, entry in ipairs(data) do
         if entry.id == id then
         if entry.id == id then
             return entry.Sprite and entry.Sprite.sprite or "Ошибка: спрайт не найден"
             return getSpritePath(entry) or "Ошибка: спрайт не найден"
         end
         end
     end
     end

Версия от 10:35, 4 февраля 2025

Шаблон:Entity Sprite


local data = mw.loadData("Module:Entity Sprite/data")
local p = {}

function p.getData()
    return data
end

local function getSpritePath(entry)
    if entry.Sprite and entry.Sprite.sprite then
        return entry.Sprite.sprite
    elseif entry.Icon and entry.Icon.sprite then
        return entry.Icon.sprite
    elseif entry.Sprite and entry.Sprite.layers then
        for _, layer in pairs(entry.Sprite.layers) do
            if layer.sprite then
                return layer.sprite
            end
        end
    end
    return nil
end

function p.getSprite(frame)
    local id = frame.args[1]
    if not id then return "Ошибка: не указан ID" end

    for _, entry in ipairs(data) do
        if entry.id == id then
            return getSpritePath(entry) or "Ошибка: спрайт не найден"
        end
    end

    return "Ошибка: ID не найден"
end

return p