aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/pop/Pop.hpp
diff options
context:
space:
mode:
author hop311 <hop3114@gmail.com>2024-03-20 00:23:58 +0100
committer hop311 <hop3114@gmail.com>2024-03-20 23:34:17 +0100
commit6a99bd8237fa61bd740ba482b59ff428a7e2f123 (patch)
tree5dc9698964d3980680dad3127fb53ecd4a600c5f /src/openvic-simulation/pop/Pop.hpp
parent60d3b5bdde3f0c4001fa8c4843f999e77568f810 (diff)
Add Pop attributes + generate test valuespop-menu
Diffstat (limited to 'src/openvic-simulation/pop/Pop.hpp')
-rw-r--r--src/openvic-simulation/pop/Pop.hpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/openvic-simulation/pop/Pop.hpp b/src/openvic-simulation/pop/Pop.hpp
index c4e369f..fe1867f 100644
--- a/src/openvic-simulation/pop/Pop.hpp
+++ b/src/openvic-simulation/pop/Pop.hpp
@@ -23,6 +23,8 @@ namespace OpenVic {
struct IdeologyManager;
struct Issue;
struct IssueManager;
+ struct Province;
+ struct CountryParty;
/* REQUIREMENTS:
* POP-18, POP-19, POP-20, POP-21, POP-34, POP-35, POP-36, POP-37
@@ -39,8 +41,10 @@ namespace OpenVic {
Culture const& PROPERTY(culture);
Religion const& PROPERTY(religion);
pop_size_t PROPERTY(size);
+ Province const* PROPERTY_RW(location);
/* Last day's size change by source. */
+ pop_size_t PROPERTY(total_change);
pop_size_t PROPERTY(num_grown);
pop_size_t PROPERTY(num_promoted); // TODO - detailed promotion/demotion info (what to)
pop_size_t PROPERTY(num_demoted);
@@ -53,6 +57,19 @@ namespace OpenVic {
fixed_point_t PROPERTY(literacy);
RebelType const* PROPERTY(rebel_type);
+ fixed_point_map_t<Ideology const*> PROPERTY(ideologies);
+ fixed_point_map_t<Issue const*> PROPERTY(issues);
+ fixed_point_map_t<CountryParty const*> PROPERTY(votes);
+
+ fixed_point_t PROPERTY(unemployment);
+ fixed_point_t PROPERTY(cash);
+ fixed_point_t PROPERTY(income);
+ fixed_point_t PROPERTY(expenses);
+ fixed_point_t PROPERTY(savings);
+ fixed_point_t PROPERTY(life_needs_fulfilled);
+ fixed_point_t PROPERTY(everyday_needs_fulfilled);
+ fixed_point_t PROPERTY(luxury_needs_fulfilled);
+
Pop(
PopType const& new_type,
Culture const& new_culture,
@@ -68,6 +85,10 @@ namespace OpenVic {
Pop(Pop&&) = default;
Pop& operator=(Pop const&) = delete;
Pop& operator=(Pop&&) = delete;
+
+ void setup_pop_test_values(
+ IdeologyManager const& ideology_manager, IssueManager const& issue_manager, Country const& country
+ );
};
struct Strata : HasIdentifier {