Difference between revisions of "Module:Infobox"

Jump to navigation Jump to search
1,460 bytes added ,  05:27, 25 December 2023
no edit summary
 
(19 intermediate revisions by the same user not shown)
Line 120: Line 120:
if #prereq > 0 then
if #prereq > 0 then
prereqSet = infoboxGroup(prereq, nil, 'Prerequisites')
local prereqSet = infoboxGroup(prereq, nil, 'Prerequisites')
for k, v in prereqSet do
for k, v in ipairs(prereqSet) do
result:node(v)
end
end
if buildingData.prosperity then
local prospRows = {}
for k, v in pairs(buildingData.prosperity) do
table.insert(prospRows, infoboxData(v,
com.firstUpper({k})))
end
local prospSet = infoboxGroup(prospRows, 2, 'Prosperity')
mw.logObject(prospSet)
for k, v in ipairs(prospSet) do
result:node(v)
result:node(v)
end
end
Line 127: Line 140:
--Production group
--Production group
local workers = buildingData.workers
local workers = buildingData.workers  
if buildingData.rank then
workers = workers ..  ' ' .. buildingData.rank
end
local requirementData = buildingData.requirements
local requirementData = buildingData.requirements
local requirements = ''
local requirements = ''
if requirementData then
if requirementData then
for k, v in ipairs(requirementData) do  
for k, v in ipairs(requirementData) do  
requirements = requirements .. i.icon(v, nil, nil, string.gsub(v,  
requirements = requirements .. i.icon(v, nil, nil,  
string.sub(v,1,1), string.upper(string.sub(v,1,1)), 1),
com.firstUpper({v}), 'en')
'en')
if k ~= #requirementData then
if k ~= #requirementData then
requirements = requirements .. '<br />'
requirements = requirements .. '<br />'
end
end
end
end
end
if not com.exists(requirements) then
requirements = nil
end
end
Line 145: Line 164:
if productData then
if productData then
for k, v in ipairs(productData) do
for k, v in ipairs(productData) do
products = products .. i.icon(v, nil, nil, string.gsub(v,
products = products .. i.icon(v, nil, nil, com.firstUpper({v}),
string.sub(v,1,1), string.upper(string.sub(v,1,1)), 1),
'en')
'en')
if k ~= #productData then
if k ~= #productData then
Line 154: Line 172:
end
end
if workers or products then
if not com.exists(products) then
products = nil
end
if workers or products or requirements then
local productionSet = {}
local productionSet = {}
table.insert(productionSet, infoboxData(workers, 'Workers'))
table.insert(productionSet, infoboxData(workers, 'Workers'))
Line 161: Line 183:
local production = infoboxGroup(productionSet, nil, 'Production')
local production = infoboxGroup(productionSet, nil, 'Production')
for k, v in ipairs(production) do
for k, v in ipairs(production) do
result:node(v)
end
end
--Construction group
local construction = buildingData.construction
if construction then
local conList = {}
for k, v in pairs(construction) do
local conLabel = i.icon(k, nil, nil, com.firstUpper({k}),
'en')
table.insert(conList, infoboxData(v, conLabel))
end
local conGroup = infoboxGroup(conList, '2', 'Construction Requirements')
for k, v in ipairs(conGroup) do
result:node(v)
end
end
local maintenance = buildingData.maintenance
local tax = buildingData.tax
if maintenance or tax then
local costSet = {}
local maintenanceLabel = i.icon('maintenance cost', nil , nil,
'Maintenance Cost', 'en')
local taxLabel = i.icon('coin', nil, nil, 'Tax', 'en')
table.insert(costSet, infoboxData(maintenance, maintenanceLabel))
table.insert(costSet, infoboxData(tax, taxLabel))
local costGroup = infoboxGroup(costSet, nil, 'Running Costs')
for k, v in ipairs(costGroup) do
result:node(v)
result:node(v)
end
end

Navigation menu