Модуль:Serialization/EntityTableSelector: различия между версиями
Pok (обсуждение | вклад) Нет описания правки |
Pok (обсуждение | вклад) Нет описания правки |
||
| (не показаны 3 промежуточные версии этого же участника) | |||
| Строка 138: | Строка 138: | ||
local function getSelectorValue(selector) | local function getSelectorValue(selector) | ||
selector = normalizeSelector(selector) or selector | selector = normalizeSelector(selector) or selector | ||
if type(selector) ~= "table" then | if type(selector) ~= "table" then | ||
| Строка 234: | Строка 230: | ||
return table.concat(result) | return table.concat(result) | ||
end | |||
local function renderPlainEntry(entry) | |||
if type(entry) ~= "table" or trim(entry.id) == "" then | |||
return "" | |||
end | |||
return formatContent(entry) | |||
end | end | ||
| Строка 246: | Строка 250: | ||
if selector then | if selector then | ||
local rendered = renderSelector(selector, visited, true, depth) | local rendered = renderSelector(selector, visited, true, depth) | ||
if rendered ~= "" then | |||
result[#result + 1] = rendered | |||
end | |||
else | |||
local rendered = renderPlainEntry(child) | |||
if rendered ~= "" then | if rendered ~= "" then | ||
result[#result + 1] = rendered | result[#result + 1] = rendered | ||
| Строка 297: | Строка 306: | ||
local title = "" | local title = "" | ||
local hasWeight = rawget(selector, "weight") ~= nil | |||
if | if hasWeight and selector.weight ~= "default" then | ||
title = "Группа предметов " .. normalizePercent(selector.weight, false) | title = "Группа предметов " .. normalizePercent(selector.weight, false) | ||
elseif | elseif not hasWeight then | ||
title = "Может выпасть лишь один из:" | title = "Может выпасть лишь один из:" | ||
end | end | ||
| Строка 387: | Строка 397: | ||
local selector = normalizeSelector(data) | local selector = normalizeSelector(data) | ||
if not selector then | if not selector then | ||
local plainEntry = renderPlainEntry(data) | |||
if plainEntry ~= "" then | |||
return frame:preprocess(plainEntry) | |||
end | |||
local plainEntries = renderPlainEntries(data) | local plainEntries = renderPlainEntries(data) | ||
if plainEntries ~= "" then | if plainEntries ~= "" then | ||