From d8baf57d46539da9edba5952f73089bf9a54bdaf Mon Sep 17 00:00:00 2001 From: hop311 Date: Thu, 18 Jul 2024 23:25:38 +0100 Subject: Unit position/country/leader handling + more use of unit branch templates --- src/openvic-simulation/map/ProvinceInstance.hpp | 27 ++++--------------------- 1 file changed, 4 insertions(+), 23 deletions(-) (limited to 'src/openvic-simulation/map/ProvinceInstance.hpp') diff --git a/src/openvic-simulation/map/ProvinceInstance.hpp b/src/openvic-simulation/map/ProvinceInstance.hpp index 4398cd4..ec06e0c 100644 --- a/src/openvic-simulation/map/ProvinceInstance.hpp +++ b/src/openvic-simulation/map/ProvinceInstance.hpp @@ -58,6 +58,8 @@ namespace OpenVic { ordered_set PROPERTY(armies); ordered_set PROPERTY(navies); + UNIT_BRANCHED_GETTER(get_unit_instance_groups, armies, navies); + std::vector PROPERTY(pops); Pop::pop_size_t PROPERTY(total_population); IndexedMap PROPERTY(pop_type_distribution); @@ -89,31 +91,10 @@ namespace OpenVic { void update_gamestate(Date today); void tick(Date today); - bool add_army(ArmyInstance& army); - bool remove_army(ArmyInstance& army); - bool add_navy(NavyInstance& navy); - bool remove_navy(NavyInstance& navy); - template - bool add_unit_instance_group(UnitInstanceGroup& group) { - if constexpr (Branch == UnitType::branch_t::LAND) { - return add_army(static_cast(group)); - } else if constexpr (Branch == UnitType::branch_t::NAVAL) { - return add_navy(static_cast(group)); - } else { - OpenVic::utility::unreachable(); - } - } + bool add_unit_instance_group(UnitInstanceGroup& group); template - bool remove_unit_instance_group(UnitInstanceGroup& group) { - if constexpr (Branch == UnitType::branch_t::LAND) { - return remove_army(static_cast(group)); - } else if constexpr (Branch == UnitType::branch_t::NAVAL) { - return remove_navy(static_cast(group)); - } else { - OpenVic::utility::unreachable(); - } - } + bool remove_unit_instance_group(UnitInstanceGroup& group); bool setup(BuildingTypeManager const& building_type_manager); bool apply_history_to_province(ProvinceHistoryEntry const* entry); -- cgit v1.2.3-56-ga3b1