aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/politics
diff options
context:
space:
mode:
author hop311 <hop3114@gmail.com>2024-07-17 00:57:50 +0200
committer hop311 <hop3114@gmail.com>2024-07-17 00:58:05 +0200
commitf83e869def6608f64606aead24ad1cfbb6f5c72a (patch)
treefae6a1086f3ae698c4fb3f18340c5ed5f580c889 /src/openvic-simulation/politics
parente8a3b33f13ebdf3a388b4996308b4db9763dc375 (diff)
Add IndexedMap and use in low key count, high value density casesindexed-map
Diffstat (limited to 'src/openvic-simulation/politics')
-rw-r--r--src/openvic-simulation/politics/NationalFocus.cpp5
-rw-r--r--src/openvic-simulation/politics/NationalFocus.hpp12
2 files changed, 10 insertions, 7 deletions
diff --git a/src/openvic-simulation/politics/NationalFocus.cpp b/src/openvic-simulation/politics/NationalFocus.cpp
index 85fcdc0..818021e 100644
--- a/src/openvic-simulation/politics/NationalFocus.cpp
+++ b/src/openvic-simulation/politics/NationalFocus.cpp
@@ -1,5 +1,7 @@
#include "NationalFocus.hpp"
+#include "openvic-simulation/politics/Ideology.hpp"
+
using namespace OpenVic;
using namespace OpenVic::NodeTools;
@@ -16,13 +18,12 @@ NationalFocus::NationalFocus(
Ideology const* new_loyalty_ideology,
fixed_point_t new_loyalty_value,
ConditionScript&& new_limit
-) : HasIdentifier { new_identifier },
+) : Modifier { new_identifier, std::move(new_modifiers), 0 },
group { new_group },
icon { new_icon },
has_flashpoint { new_has_flashpoint },
own_provinces { new_own_provinces },
outliner_show_as_percent { new_outliner_show_as_percent },
- modifiers { std::move(new_modifiers) },
loyalty_ideology { new_loyalty_ideology },
loyalty_value { new_loyalty_value },
limit { std::move(new_limit) } {}
diff --git a/src/openvic-simulation/politics/NationalFocus.hpp b/src/openvic-simulation/politics/NationalFocus.hpp
index f27af43..04a4100 100644
--- a/src/openvic-simulation/politics/NationalFocus.hpp
+++ b/src/openvic-simulation/politics/NationalFocus.hpp
@@ -1,9 +1,6 @@
#pragma once
-#include "openvic-simulation/economy/GoodDefinition.hpp"
#include "openvic-simulation/misc/Modifier.hpp"
-#include "openvic-simulation/politics/Ideology.hpp"
-#include "openvic-simulation/pop/Pop.hpp"
#include "openvic-simulation/scripts/ConditionScript.hpp"
#include "openvic-simulation/types/IdentifierRegistry.hpp"
#include "openvic-simulation/utility/Getters.hpp"
@@ -18,7 +15,9 @@ namespace OpenVic {
NationalFocusGroup(std::string_view new_identifier);
};
- struct NationalFocus : HasIdentifier {
+ struct Ideology;
+
+ struct NationalFocus : Modifier {
friend struct NationalFocusManager;
private:
@@ -27,7 +26,6 @@ namespace OpenVic {
bool PROPERTY(has_flashpoint);
bool PROPERTY(own_provinces);
bool PROPERTY(outliner_show_as_percent);
- ModifierValue PROPERTY(modifiers);
Ideology const* PROPERTY(loyalty_ideology);
fixed_point_t PROPERTY(loyalty_value);
ConditionScript PROPERTY(limit);
@@ -51,6 +49,10 @@ namespace OpenVic {
NationalFocus(NationalFocus&&) = default;
};
+ struct PopManager;
+ struct IdeologyManager;
+ struct GoodDefinitionManager;
+
struct NationalFocusManager {
private:
IdentifierRegistry<NationalFocusGroup> IDENTIFIER_REGISTRY(national_focus_group);