aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/country/CountryInstance.hpp
diff options
context:
space:
mode:
author hop311 <hop3114@gmail.com>2024-07-14 16:01:25 +0200
committer hop311 <hop3114@gmail.com>2024-07-14 16:25:34 +0200
commite4701ebc08f57575a02bdc1777d9851a987c1cba (patch)
treedb365e5d71df41b7b35abdcc3d4c0d76f1653619 /src/openvic-simulation/country/CountryInstance.hpp
parentb9b35ad9536cfdcd61f5208eeaad7ead4bd0418d (diff)
Unit and leader rework (branch based templates and colony containers)unit-colonies
Diffstat (limited to 'src/openvic-simulation/country/CountryInstance.hpp')
-rw-r--r--src/openvic-simulation/country/CountryInstance.hpp15
1 files changed, 15 insertions, 0 deletions
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 <vector>
+#include <plf_colony.h>
+
+#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<Reform const*> 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<General> PROPERTY(generals);
+ plf::colony<Admiral> 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);
};