diff options
author | Hop311 <hop3114@gmail.com> | 2023-04-25 01:03:15 +0200 |
---|---|---|
committer | Hop311 <hop3114@gmail.com> | 2023-04-25 01:03:15 +0200 |
commit | 8fba1c8a02f8680e0d80279b8b6451fea4a40a62 (patch) | |
tree | ba88378d61e2121a26847b2f68ac5111b5c9baec /extension/src/openvic2/map/Province.cpp | |
parent | 639f86febf39184cccde9f898fc328375048233f (diff) |
Req comments + cleanup + c++ registry refactoring
Diffstat (limited to 'extension/src/openvic2/map/Province.cpp')
-rw-r--r-- | extension/src/openvic2/map/Province.cpp | 15 |
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); } |