diff options
author | hop311 <hop3114@gmail.com> | 2024-07-17 00:57:50 +0200 |
---|---|---|
committer | hop311 <hop3114@gmail.com> | 2024-07-17 00:58:05 +0200 |
commit | f83e869def6608f64606aead24ad1cfbb6f5c72a (patch) | |
tree | fae6a1086f3ae698c4fb3f18340c5ed5f580c889 /src/openvic-simulation/politics | |
parent | e8a3b33f13ebdf3a388b4996308b4db9763dc375 (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.cpp | 5 | ||||
-rw-r--r-- | src/openvic-simulation/politics/NationalFocus.hpp | 12 |
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); |