abstract class Building : HasConcreteInventory, HasConcreteContacts
The basic unit of simulation in this game. Represents a building and all its attributes. We currently count Road as building as well as PowerLine.
| Building(cityMap: CityMap)The basic unit of simulation in this game. Represents a building and all its attributes. We currently count Road as building as well as PowerLine. | 
| open var borderColor: ColorDefault border color, used for rendering | |
| open val cityMap: CityMap | |
| open val consumes: MutableMap<Tradeable, Int>A list of Tradeable (with quantities) that this building consumes | |
| open val contracts: MutableList<Contract> | |
| open var description: String?Extended description of this building | |
| var goodwill: Int | |
| open var happiness: IntHow happy the building is. This can be positive or negative. | |
| abstract var height: IntHeight in BlockCoordinate of the building | |
| open val inventory: Inventory | |
| var level: Int | |
| open var name: String?Friendly name (eg. "Slummy apartment") of building | |
| open var pollution: DoubleHow much pollution this building generates... | |
| open val powerRequired: IntHow many units of power this building needs to be happy | |
| var powered: Booleantrue if we have power, false if not | |
| open val produces: MutableMap<Tradeable, Int> | |
| open var sprite: String?Filename of sprite asset used to paint this building (I guess maybe this should live in renderer?) | |
| open var upkeep: IntEventually, how much $$$ is required to keep this building going. Probably going to be used for civic buildings like town hall. | |
| val uuid: StringUnique ID of building | |
| open val variety: String?Used for things like PowerPlant so we know what it is (coal/nuclear) | |
| abstract var width: IntWidth in BlockCoordinate of the building | |
| var zots: List<Zot>List of Zot that this building suffers from. Populated by... ZotPopulator | 
| fun createContract(otherTradeEntity: TradeEntity, tradeable: Tradeable, quantity: Int, path: Path?): Unit | |
| open fun equals(other: Any?): Boolean | |
| fun payWorkers(): Unit | |
| open fun toString(): String | |
| fun zone(): Zone? | 
| open fun addContract(contract: Contract): Unit | |
| open fun addInventory(tradeable: Tradeable, quantity: Int): Int | |
| open fun balance(): IntHow much Tradeable.MONEY that the given thing has. | |
| open fun consumesQuantity(tradeable: Tradeable): Int | |
| open fun currentQuantityForSale(tradeable: Tradeable): Int | |
| open fun currentQuantityWanted(tradeable: Tradeable): Int | |
| open fun hasAnyContracts(): Boolean | |
| open fun producesQuantity(tradeable: Tradeable): Int | |
| open fun productList(): List<Tradeable> | |
| open fun quantityOnHand(tradeable: Tradeable): Int | |
| open fun setInventory(tradeable: Tradeable, quantity: Int): Int | |
| open fun subtractInventory(tradeable: Tradeable, quantity: Int): Int | |
| open fun summarizeContracts(): String | |
| open fun summarizeInventory(): StringUsed to print a textual description of the Tradeables that this thing has. | |
| open fun totalBeingBought(tradeable: Tradeable): Int | |
| open fun totalBeingSold(tradeable: Tradeable): Int | |
| open fun transferInventory(to: TradeEntity, tradeable: Tradeable, quantity: Int): IntSend Tradeable to another TradeEntity but only if we actually have it | |
| open fun voidContractsWith(otherEntity: TradeEntity): Unit | |
| open fun voidRandomContract(): Unit | 
| fun classByString(name: String?): KClass<out Building>?Used by the CityFileAdapter to help turn the names in the datafiles to the actual classes. | 
| class FireStation : Building | |
| open class LoadableBuilding : Building | |
| class PoliceStation : Building | |
| class PowerLine : Building | |
| class PowerPlant : Building | |
| class RailDepot : Building | |
| class Railroad : Building | |
| class Road : Building | |
| class TrainStation : Building |