From e4701ebc08f57575a02bdc1777d9851a987c1cba Mon Sep 17 00:00:00 2001 From: hop311 Date: Sun, 14 Jul 2024 15:01:25 +0100 Subject: Unit and leader rework (branch based templates and colony containers) --- src/openvic-simulation/country/CountryInstance.hpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/openvic-simulation/country/CountryInstance.hpp') diff --git a/src/openvic-simulation/country/CountryInstance.hpp b/src/openvic-simulation/country/CountryInstance.hpp index 45924b2..3022b6a 100644 --- a/src/openvic-simulation/country/CountryInstance.hpp +++ b/src/openvic-simulation/country/CountryInstance.hpp @@ -2,6 +2,10 @@ #include +#include + +#include "openvic-simulation/military/Leader.hpp" +#include "openvic-simulation/military/UnitInstanceGroup.hpp" #include "openvic-simulation/types/Date.hpp" #include "openvic-simulation/types/fixed_point/FixedPointMap.hpp" #include "openvic-simulation/types/IdentifierRegistry.hpp" @@ -42,6 +46,9 @@ namespace OpenVic { std::vector PROPERTY(reforms); // TODO: should be map of reform groups to active reforms: must set defaults & validate applied history // TODO: Military units + OOBs; will probably need an extensible deployment class + plf::colony PROPERTY(generals); + plf::colony PROPERTY(admirals); + CountryInstance(CountryDefinition const* new_country_definition); public: @@ -55,6 +62,14 @@ namespace OpenVic { bool add_reform(Reform const* new_reform); bool remove_reform(Reform const* reform_to_remove); + void add_general(General&& new_general); + bool remove_general(General const* general_to_remove); + void add_admiral(Admiral&& new_admiral); + bool remove_admiral(Admiral const* admiral_to_remove); + + bool add_leader(LeaderBase const& new_leader); + bool remove_leader(LeaderBase const* leader_to_remove); + bool apply_history_to_country(CountryHistoryEntry const* entry); }; -- cgit v1.2.3-56-ga3b1