interface HasInventory
Represents something in (or external) to the city that can have Tradeables in its possession.
abstract fun addInventory(tradeable: Tradeable, quantity: Int): Int |
|
abstract fun balance(): Int
How much Tradeable.MONEY that the given thing has. |
|
abstract fun quantityOnHand(tradeable: Tradeable): Int |
|
abstract fun setInventory(tradeable: Tradeable, quantity: Int): Int |
|
abstract fun subtractInventory(tradeable: Tradeable, quantity: Int): Int |
|
abstract fun summarizeInventory(): String |
|
abstract fun transferInventory(to: TradeEntity, tradeable: Tradeable, quantity: Int): Int |
interface HasConcreteInventory : HasInventory
This is used for something in the CityMap that has REAL trackable inventory. The reason we have "HasConcreteInventory" and not is because the outside NationalTradeEntity does not REALLY have anything. It just pretends to. |
|
data class NationalTradeEntity : HasContracts, HasInventory |
|
data class OutsideTradeEntity : TradeEntity, HasContracts, HasInventory |