aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/country/CountryInstance.hpp
diff options
context:
space:
mode:
author Hop311 <Hop3114@gmail.com>2024-06-06 21:29:15 +0200
committer GitHub <noreply@github.com>2024-06-06 21:29:15 +0200
commitf5d173e88a49a1a9556860063aef1aa287925cfd (patch)
treef3a9a107f1bd4b6b6d8035a96ac659bcc15f176b /src/openvic-simulation/country/CountryInstance.hpp
parente286cfef29d7c431ba33cd77283e838e6fba05d2 (diff)
parent37cdd775ac738b2a1264e32471385376e5a34f3a (diff)
Merge pull request #161 from OpenVicProject/const-mutable
Province const/mutable separation + State cleanup
Diffstat (limited to 'src/openvic-simulation/country/CountryInstance.hpp')
-rw-r--r--src/openvic-simulation/country/CountryInstance.hpp29
1 files changed, 23 insertions, 6 deletions
diff --git a/src/openvic-simulation/country/CountryInstance.hpp b/src/openvic-simulation/country/CountryInstance.hpp
index 7efd930..33cee61 100644
--- a/src/openvic-simulation/country/CountryInstance.hpp
+++ b/src/openvic-simulation/country/CountryInstance.hpp
@@ -1,12 +1,22 @@
#pragma once
-#include "openvic-simulation/country/Country.hpp"
-#include "openvic-simulation/history/CountryHistory.hpp"
-#include "openvic-simulation/map/Province.hpp"
+#include <vector>
+
+#include "openvic-simulation/types/Date.hpp"
+#include "openvic-simulation/types/fixed_point/FixedPointMap.hpp"
#include "openvic-simulation/utility/Getters.hpp"
namespace OpenVic {
- struct UnitInstanceManager;
+ struct Country;
+ struct Culture;
+ struct Religion;
+ struct CountryParty;
+ struct Ideology;
+ struct ProvinceDefinition;
+ struct GovernmentType;
+ struct NationalValue;
+ struct Reform;
+ struct CountryHistoryEntry;
/* Representation of an existing country that is currently in-game. */
struct CountryInstance {
@@ -19,7 +29,9 @@ namespace OpenVic {
CountryParty const* PROPERTY_RW(ruling_party);
Date PROPERTY_RW(last_election);
fixed_point_map_t<Ideology const*> PROPERTY(upper_house);
- Province const* PROPERTY_RW(capital);
+ // TODO - should this be ProvinceInstance and/or non-const pointer?
+ // Currently ProvinceDefinition as that's what CountryHistoryEntry has (loaded prior to ProvinceInstance generation)
+ ProvinceDefinition const* PROPERTY_RW(capital);
GovernmentType const* PROPERTY_RW(government_type);
fixed_point_t PROPERTY_RW(plurality);
NationalValue const* PROPERTY_RW(national_value);
@@ -44,6 +56,11 @@ namespace OpenVic {
bool apply_history_to_country(CountryHistoryEntry const* entry);
};
+ struct CountryManager;
+ struct CountryHistoryManager;
+ struct UnitInstanceManager;
+ struct Map;
+
struct CountryInstanceManager {
private:
std::vector<CountryInstance> PROPERTY(country_instances);
@@ -55,4 +72,4 @@ namespace OpenVic {
CountryHistoryManager const& history_manager, Date date, UnitInstanceManager& unit_instance_manager, Map& map
);
};
-} // namespace OpenVic
+}