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: Color
Default 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: Int
How happy the building is. This can be positive or negative. |
|
abstract var height: Int
Height 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: Double
How much pollution this building generates... |
|
open val powerRequired: Int
How many units of power this building needs to be happy |
|
var powered: Boolean
true 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: Int
Eventually, how much $$$ is required to keep this building going. Probably going to be used for civic buildings like town hall. |
|
val uuid: String
Unique ID of building |
|
open val variety: String?
Used for things like PowerPlant so we know what it is (coal/nuclear) |
|
abstract var width: Int
Width 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(): Int
How 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(): String
Used 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): Int
Send 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 |