<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.hoodedhorse.com/Against_the_Storm/index.php?action=history&amp;feed=atom&amp;title=Module%3ABuildingList</id>
	<title>Module:BuildingList - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hoodedhorse.com/Against_the_Storm/index.php?action=history&amp;feed=atom&amp;title=Module%3ABuildingList"/>
	<link rel="alternate" type="text/html" href="https://wiki.hoodedhorse.com/Against_the_Storm/index.php?title=Module:BuildingList&amp;action=history"/>
	<updated>2026-10-18T12:15:41Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.5</generator>
	<entry>
		<id>https://wiki.hoodedhorse.com/Against_the_Storm/index.php?title=Module:BuildingList&amp;diff=3807&amp;oldid=prev</id>
		<title>76561197969631737: Working on a new thing...</title>
		<link rel="alternate" type="text/html" href="https://wiki.hoodedhorse.com/Against_the_Storm/index.php?title=Module:BuildingList&amp;diff=3807&amp;oldid=prev"/>
		<updated>2023-11-28T14:48:22Z</updated>

		<summary type="html">&lt;p&gt;Working on a new thing...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;---&lt;br /&gt;
--- Generates a large table of buildings.&lt;br /&gt;
---&lt;br /&gt;
--- @module BuildingList&lt;br /&gt;
local BuildingList = {}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local WorkshopsData = require(&amp;quot;Module:WorkshopsData&amp;quot;)&lt;br /&gt;
local InstitutionsData = require(&amp;quot;Module:InstitutionsData&amp;quot;)&lt;br /&gt;
local FarmsData = require(&amp;quot;Module:FarmsData&amp;quot;)&lt;br /&gt;
local CampsData = require(&amp;quot;Module:CampsData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--region Private constants&lt;br /&gt;
&lt;br /&gt;
local DEFAULT_SIZE_SMALL = &amp;quot;small&amp;quot;&lt;br /&gt;
&lt;br /&gt;
local ICON_SIZES = {&lt;br /&gt;
	[DEFAULT_SIZE_SMALL] = mw.getCurrentFrame():expandTemplate{ title = &amp;quot;ImgS&amp;quot; },&lt;br /&gt;
	[&amp;quot;med&amp;quot;] = mw.getCurrentFrame():expandTemplate{ title = &amp;quot;ImgM&amp;quot; },&lt;br /&gt;
	[&amp;quot;large&amp;quot;] = mw.getCurrentFrame():expandTemplate{ title = &amp;quot;ImgL&amp;quot; },&lt;br /&gt;
	[&amp;quot;huge&amp;quot;] = mw.getCurrentFrame():expandTemplate{ title = &amp;quot;ImgH&amp;quot; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local NBSP = &amp;quot;&amp;amp;nbsp;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
--endregion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--region Private methods&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
--- Loops through the data to find matches to the provided category.&lt;br /&gt;
---&lt;br /&gt;
---@param category string the name of the category&lt;br /&gt;
local function loadBuildingList(category)&lt;br /&gt;
&lt;br /&gt;
	local buildingList = {}&lt;br /&gt;
&lt;br /&gt;
	for i = 1, WorkshopsData.getNumberOfWorkshopsInDatabase() do&lt;br /&gt;
		local buildingName = WorkshopsData.getWorkshopNameFromDatabase(i)&lt;br /&gt;
		if not category or category == WorkshopsData.getWorkshopCategory(buildingName) then&lt;br /&gt;
			table.insert(buildingList, buildingName)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	for i = 1, InstitutionsData.getNumberOfInstitutionsInDatabase() do&lt;br /&gt;
		local buildingName = InstitutionsData.getInstitutionNameFromDatabase(i)&lt;br /&gt;
		if not category or category == InstitutionsData.getInstitutionCategory(buildingName) then&lt;br /&gt;
			table.insert(buildingList, buildingName)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	for i = 1, FarmsData.getNumberOfFarmsInDatabase() do&lt;br /&gt;
		local buildingName = FarmsData.getFarmNameFromDatabase(i)&lt;br /&gt;
		if not category or category == FarmsData.getFarmCategory(buildingName) then&lt;br /&gt;
			table.insert(buildingList, buildingName)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	for i = 1, CampsData.getNumberOfCampsInDatabase() do&lt;br /&gt;
		local buildingName = CampsData.getCampNameFromDatabase(i)&lt;br /&gt;
		if not category or category == CampsData.getCampCategory(buildingName) then&lt;br /&gt;
			table.insert(buildingList, buildingName)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return buildingList&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--endregion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--region Public methods&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
--- Renders an icon and the name of a building linked to a wiki page&lt;br /&gt;
--- corresponding to the provided building.&lt;br /&gt;
---&lt;br /&gt;
--- Uses MediaWiki markup to display the name of a wiki page and an icon that&lt;br /&gt;
--- has been uploaded to the wiki. Both must be known by the data model,&lt;br /&gt;
--- or the template&amp;#039;s behavior may be different than expected.&lt;br /&gt;
---&lt;br /&gt;
--- @param frame table the template&amp;#039;s calling context, with parameters&lt;br /&gt;
--- @return string wiki markup&lt;br /&gt;
function BuildingList.renderList(frame)&lt;br /&gt;
&lt;br /&gt;
	-- Extract the template parameter, if any.&lt;br /&gt;
	local argCategory = frame.args.category&lt;br /&gt;
&lt;br /&gt;
	local buildingList = loadBuildingList(argCategory)&lt;br /&gt;
&lt;br /&gt;
	return buildingList&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--endregion&lt;br /&gt;
&lt;br /&gt;
return BuildingList&lt;/div&gt;</summary>
		<author><name>76561197969631737</name></author>
	</entry>
</feed>