From 67cbd14630c4344902d3fa1ddca178809da4293b Mon Sep 17 00:00:00 2001 From: hop311 Date: Sun, 21 Jul 2024 14:09:25 +0100 Subject: Fleshing out Country, State and Province instances + history --- src/openvic-simulation/military/UnitInstanceGroup.cpp | 13 ++++++++++++- src/openvic-simulation/military/UnitInstanceGroup.hpp | 4 +++- 2 files changed, 15 insertions(+), 2 deletions(-) (limited to 'src/openvic-simulation/military') diff --git a/src/openvic-simulation/military/UnitInstanceGroup.cpp b/src/openvic-simulation/military/UnitInstanceGroup.cpp index 80ca3a9..07736f3 100644 --- a/src/openvic-simulation/military/UnitInstanceGroup.cpp +++ b/src/openvic-simulation/military/UnitInstanceGroup.cpp @@ -155,6 +155,17 @@ UnitInstanceGroupBranched::UnitInstanceGroupBranched( std::vector&& new_units ) : UnitInstanceGroup { new_name, std::move(new_units) } {} + +fixed_point_t UnitInstanceGroupBranched::get_total_consumed_supply() const { + fixed_point_t total_consumed_supply = 0; + + for (ShipInstance const* ship : get_units()) { + total_consumed_supply += ship->get_unit_type().get_supply_consumption_score(); + } + + return total_consumed_supply; +} + template bool UnitInstanceManager::generate_unit_instance( UnitDeployment const& unit_deployment, UnitInstanceBranched*& unit_instance @@ -220,7 +231,7 @@ bool UnitInstanceManager::generate_unit_instance_group( }); ret &= unit_instance_group.set_position( - map_instance.get_province_instance_from_const(unit_deployment_group.get_location()) + &map_instance.get_province_instance_from_definition(*unit_deployment_group.get_location()) ); ret &= unit_instance_group.set_country(&country); diff --git a/src/openvic-simulation/military/UnitInstanceGroup.hpp b/src/openvic-simulation/military/UnitInstanceGroup.hpp index 4fe0cba..78ff289 100644 --- a/src/openvic-simulation/military/UnitInstanceGroup.hpp +++ b/src/openvic-simulation/military/UnitInstanceGroup.hpp @@ -90,7 +90,7 @@ namespace OpenVic { friend struct UnitInstanceManager; private: - std::vector PROPERTY(carried_armies); + std::vector PROPERTY(carried_armies); UnitInstanceGroupBranched( std::string_view new_name, @@ -99,6 +99,8 @@ namespace OpenVic { public: UnitInstanceGroupBranched(UnitInstanceGroupBranched&&) = default; + + fixed_point_t get_total_consumed_supply() const; }; using NavyInstance = UnitInstanceGroupBranched; -- cgit v1.2.3-56-ga3b1