Module:TechLister/Projects
From Terra Invicta Official Wiki
Documentation for this module may be created at Module:TechLister/Projects/doc
---
---Reads the Project data files and computes a table of Tech to Project unlocks
--region Dependencies
local ProjectData = mw.loadData('Module:CSVReader/Project')
--endregion
--region Private constants
--endregion
--region Private member variables
local projectTable = {}
--endregion
--region Private methods
function getProjectTable()
for rowID, row in pairs(ProjectData) do
if not row['disable'] or row['disable'] ~= 'true' then
local prereq = row['altPrereq0']
if prereq and prereq ~= '' and prereq ~= 0 and string.sub(prereq,1,7) ~= 'Project' then
if not projectTable[prereq] then
projectTable[prereq] = {}
end
projectTable[prereq][rowID] = true
end
for i = 0, 4 do
prereq = row['prereqs/' .. i]
if prereq and prereq ~= '' and prereq ~= 0 and string.sub(prereq,1,7) ~= 'Project' then
if not projectTable[prereq] then
projectTable[prereq] = {}
end
projectTable[prereq][rowID] = true
end
end
end
end
return projectTable
end
--endregion
--region Public methods
--endregion
return getProjectTable()


