aboutsummaryrefslogtreecommitdiff
path: root/extension/src/openvic2/map/Province.cpp
diff options
context:
space:
mode:
author Hop311 <hop3114@gmail.com>2023-04-25 01:03:15 +0200
committer Hop311 <hop3114@gmail.com>2023-04-25 01:03:15 +0200
commit8fba1c8a02f8680e0d80279b8b6451fea4a40a62 (patch)
treeba88378d61e2121a26847b2f68ac5111b5c9baec /extension/src/openvic2/map/Province.cpp
parent639f86febf39184cccde9f898fc328375048233f (diff)
Req comments + cleanup + c++ registry refactoring
Diffstat (limited to 'extension/src/openvic2/map/Province.cpp')
-rw-r--r--extension/src/openvic2/map/Province.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/extension/src/openvic2/map/Province.cpp b/extension/src/openvic2/map/Province.cpp
index c641b7e..08711af 100644
--- a/extension/src/openvic2/map/Province.cpp
+++ b/extension/src/openvic2/map/Province.cpp
@@ -6,6 +6,8 @@
using namespace OpenVic2;
+const char Province::buildings_name[] = "buildings";
+
Province::Province(index_t new_index, std::string const& new_identifier, colour_t new_colour) :
HasIdentifier{ new_identifier }, index{ new_index }, colour{ new_colour } {
assert(index != NULL_INDEX);
@@ -39,14 +41,13 @@ Province::life_rating_t Province::get_life_rating() const {
}
std::vector<Building> const& Province::get_buildings() const {
- return buildings;
+ return buildings.get_items();
}
return_t Province::expand_building(std::string const& building_type_identifier) {
- for (Building& building : buildings)
- if (building.get_type().get_identifier() == building_type_identifier)
- return building.expand();
- return FAILURE;
+ Building* building = buildings.get_item_by_identifier(building_type_identifier);
+ if (building == nullptr) return FAILURE;
+ return building->expand();
}
std::string Province::to_string() const {
@@ -56,12 +57,12 @@ std::string Province::to_string() const {
}
void Province::update_state(Date const& today) {
- for (Building& building : buildings)
+ for (Building& building : buildings.get_items())
building.update_state(today);
}
void Province::tick(Date const& today) {
- for (Building& building : buildings)
+ for (Building& building : buildings.get_items())
building.tick(today);
}