expansion/src/game/building_list.cr
2019-10-11 18:02:22 +03:00

42 lines
965 B
Crystal

module Game
class BuildingList
def initialize
@items = [] of NamedTuple(t: Building::Type, b: Building)
add(
Building.new Building::Type::StartPoint, "Start Point", storage: 100
)
add(
Building.new Building::Type::CrystalMiner, "Crystal Miner", **{
production: Production.new(
ts: 20,
input: Resources.new,
output: Resources.new({
Resources::Type::Crystals => 100,
})
),
}
)
add(
Building.new Building::Type::CrystalRestorer, **{
cost: Resources.new({
Resources::Type::Crystals => 100,
}),
restoration: Restoration.new(
ts: 30,
type: Resources::Type::Crystals,
cap: 50
),
}
)
end
private def add(building : Building)
t = building.type
@items << {t: t, b: building}
end
end
end