aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/politics
diff options
context:
space:
mode:
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);