diff options
author | Hop311 <Hop3114@gmail.com> | 2023-11-22 23:11:42 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-22 23:11:42 +0100 |
commit | a54898b7770e0d66b729216173960686c67e58bb (patch) | |
tree | af8ed836a4789ef94c5bfed27abb713922f45af3 /src/openvic-simulation/pop | |
parent | e76336cd92639f4ec71088fc4c80aea4c25528cd (diff) | |
parent | 738a203e0d8b4df87c42888043b99c13d5d97511 (diff) |
Merge pull request #78 from OpenVicProject/property-macro
Refactoring (*mostly* related to the property macro)
Diffstat (limited to 'src/openvic-simulation/pop')
-rw-r--r-- | src/openvic-simulation/pop/Culture.cpp | 24 | ||||
-rw-r--r-- | src/openvic-simulation/pop/Culture.hpp | 19 | ||||
-rw-r--r-- | src/openvic-simulation/pop/Pop.cpp | 76 | ||||
-rw-r--r-- | src/openvic-simulation/pop/Pop.hpp | 49 | ||||
-rw-r--r-- | src/openvic-simulation/pop/Religion.cpp | 12 | ||||
-rw-r--r-- | src/openvic-simulation/pop/Religion.hpp | 10 |
6 files changed, 28 insertions, 162 deletions
diff --git a/src/openvic-simulation/pop/Culture.cpp b/src/openvic-simulation/pop/Culture.cpp index 376e2a3..bc17290 100644 --- a/src/openvic-simulation/pop/Culture.cpp +++ b/src/openvic-simulation/pop/Culture.cpp @@ -13,36 +13,12 @@ CultureGroup::CultureGroup( ) : HasIdentifier { new_identifier }, leader { new_leader }, unit_graphical_culture_type { new_unit_graphical_culture_type }, is_overseas { new_is_overseas } {} -std::string_view CultureGroup::get_leader() const { - return leader; -} - -GraphicalCultureType const& CultureGroup::get_unit_graphical_culture_type() const { - return unit_graphical_culture_type; -} - -bool CultureGroup::get_is_overseas() const { - return is_overseas; -} - Culture::Culture( std::string_view new_identifier, colour_t new_colour, CultureGroup const& new_group, std::vector<std::string>&& new_first_names, std::vector<std::string>&& new_last_names ) : HasIdentifierAndColour { new_identifier, new_colour, false, false }, group { new_group }, first_names { std::move(new_first_names) }, last_names { std::move(new_last_names) } {} -CultureGroup const& Culture::get_group() const { - return group; -} - -std::vector<std::string> const& Culture::get_first_names() const { - return first_names; -} - -std::vector<std::string> const& Culture::get_last_names() const { - return last_names; -} - CultureManager::CultureManager() : graphical_culture_types { "graphical culture types" }, culture_groups { "culture groups" }, cultures { "cultures" } {} diff --git a/src/openvic-simulation/pop/Culture.hpp b/src/openvic-simulation/pop/Culture.hpp index 2abe77d..ff5f7c5 100644 --- a/src/openvic-simulation/pop/Culture.hpp +++ b/src/openvic-simulation/pop/Culture.hpp @@ -20,9 +20,9 @@ namespace OpenVic { friend struct CultureManager; private: - const std::string leader; - GraphicalCultureType const& unit_graphical_culture_type; - const bool is_overseas; + const std::string PROPERTY(leader); + GraphicalCultureType const& PROPERTY(unit_graphical_culture_type); + const bool PROPERTY(is_overseas); // TODO - union tag @@ -33,18 +33,15 @@ namespace OpenVic { public: CultureGroup(CultureGroup&&) = default; - - std::string_view get_leader() const; - GraphicalCultureType const& get_unit_graphical_culture_type() const; - bool get_is_overseas() const; }; struct Culture : HasIdentifierAndColour { friend struct CultureManager; private: - CultureGroup const& group; - const std::vector<std::string> first_names, last_names; + CultureGroup const& PROPERTY(group); + const std::vector<std::string> PROPERTY(first_names); + const std::vector<std::string> PROPERTY(last_names); // TODO - radicalism, primary tag @@ -55,10 +52,6 @@ namespace OpenVic { public: Culture(Culture&&) = default; - - CultureGroup const& get_group() const; - std::vector<std::string> const& get_first_names() const; - std::vector<std::string> const& get_last_names() const; }; struct CultureManager { diff --git a/src/openvic-simulation/pop/Pop.cpp b/src/openvic-simulation/pop/Pop.cpp index 0b61096..31ab6d5 100644 --- a/src/openvic-simulation/pop/Pop.cpp +++ b/src/openvic-simulation/pop/Pop.cpp @@ -15,34 +15,6 @@ Pop::Pop( assert(size > 0); } -PopType const& Pop::get_type() const { - return type; -} - -Culture const& Pop::get_culture() const { - return culture; -} - -Religion const& Pop::get_religion() const { - return religion; -} - -Pop::pop_size_t Pop::get_size() const { - return size; -} - -Pop::pop_size_t Pop::get_num_promoted() const { - return num_promoted; -} - -Pop::pop_size_t Pop::get_num_demoted() const { - return num_demoted; -} - -Pop::pop_size_t Pop::get_num_migrated() const { - return num_migrated; -} - Pop::pop_size_t Pop::get_pop_daily_change() const { return Pop::get_num_promoted() - (Pop::get_num_demoted() + Pop::get_num_migrated()); } @@ -62,54 +34,6 @@ PopType::PopType( assert(merge_max_size >= 0); } -PopType::sprite_t PopType::get_sprite() const { - return sprite; -} - -Good::good_map_t const& PopType::get_life_needs() const { - return life_needs; -} - -Good::good_map_t const& PopType::get_everyday_needs() const { - return everyday_needs; -} - -Good::good_map_t const& PopType::get_luxury_needs() const { - return luxury_needs; -} - -PopType::rebel_units_t const& PopType::get_rebel_units() const { - return rebel_units; -} - -PopType::strata_t PopType::get_strata() const { - return strata; -} - -Pop::pop_size_t PopType::get_max_size() const { - return max_size; -} - -Pop::pop_size_t PopType::get_merge_max_size() const { - return merge_max_size; -} - -bool PopType::get_state_capital_only() const { - return state_capital_only; -} - -bool PopType::get_demote_migrant() const { - return demote_migrant; -} - -bool PopType::get_is_artisan() const { - return is_artisan; -} - -bool PopType::get_is_slave() const { - return is_slave; -} - PopManager::PopManager() : pop_types { "pop types" } {} bool PopManager::add_pop_type( diff --git a/src/openvic-simulation/pop/Pop.hpp b/src/openvic-simulation/pop/Pop.hpp index f7f20fe..ff4ff5f 100644 --- a/src/openvic-simulation/pop/Pop.hpp +++ b/src/openvic-simulation/pop/Pop.hpp @@ -19,10 +19,13 @@ namespace OpenVic { using pop_size_t = int64_t; private: - PopType const& type; - Culture const& culture; - Religion const& religion; - pop_size_t size, num_promoted, num_demoted, num_migrated; + PopType const& PROPERTY(type); + Culture const& PROPERTY(culture); + Religion const& PROPERTY(religion); + pop_size_t PROPERTY(size); + pop_size_t PROPERTY(num_promoted); + pop_size_t PROPERTY(num_demoted); + pop_size_t PROPERTY(num_migrated); Pop(PopType const& new_type, Culture const& new_culture, Religion const& new_religion, pop_size_t new_size); @@ -32,13 +35,6 @@ namespace OpenVic { Pop& operator=(Pop const&) = delete; Pop& operator=(Pop&&) = delete; - PopType const& get_type() const; - Culture const& get_culture() const; - Religion const& get_religion() const; - pop_size_t get_size() const; - pop_size_t get_num_promoted() const; - pop_size_t get_num_demoted() const; - pop_size_t get_num_migrated() const; pop_size_t get_pop_daily_change() const; }; @@ -52,12 +48,18 @@ namespace OpenVic { using rebel_units_t = fixed_point_map_t<Unit const*>; private: - const enum class strata_t { POOR, MIDDLE, RICH } strata; - const sprite_t sprite; - const Good::good_map_t life_needs, everyday_needs, luxury_needs; - const rebel_units_t rebel_units; - const Pop::pop_size_t max_size, merge_max_size; - const bool state_capital_only, demote_migrant, is_artisan, is_slave; + const enum class strata_t { POOR, MIDDLE, RICH } PROPERTY(strata); + const sprite_t PROPERTY(sprite); + const Good::good_map_t PROPERTY(life_needs); + const Good::good_map_t PROPERTY(everyday_needs); + const Good::good_map_t PROPERTY(luxury_needs); + const rebel_units_t PROPERTY(rebel_units); + const Pop::pop_size_t PROPERTY(max_size); + const Pop::pop_size_t PROPERTY(merge_max_size); + const bool PROPERTY(state_capital_only); + const bool PROPERTY(demote_migrant); + const bool PROPERTY(is_artisan); + const bool PROPERTY(is_slave); // TODO - country and province migration targets, promote_to targets, ideologies and issues @@ -70,19 +72,6 @@ namespace OpenVic { public: PopType(PopType&&) = default; - - strata_t get_strata() const; - sprite_t get_sprite() const; - Good::good_map_t const& get_life_needs() const; - Good::good_map_t const& get_everyday_needs() const; - Good::good_map_t const& get_luxury_needs() const; - rebel_units_t const& get_rebel_units() const; - Pop::pop_size_t get_max_size() const; - Pop::pop_size_t get_merge_max_size() const; - bool get_state_capital_only() const; - bool get_demote_migrant() const; - bool get_is_artisan() const; - bool get_is_slave() const; }; struct Province; diff --git a/src/openvic-simulation/pop/Religion.cpp b/src/openvic-simulation/pop/Religion.cpp index f52ed3e..644618d 100644 --- a/src/openvic-simulation/pop/Religion.cpp +++ b/src/openvic-simulation/pop/Religion.cpp @@ -14,18 +14,6 @@ Religion::Religion( assert(icon > 0); } -ReligionGroup const& Religion::get_group() const { - return group; -} - -Religion::icon_t Religion::get_icon() const { - return icon; -} - -bool Religion::get_pagan() const { - return pagan; -} - ReligionManager::ReligionManager() : religion_groups { "religion groups" }, religions { "religions" } {} bool ReligionManager::add_religion_group(std::string_view identifier) { diff --git a/src/openvic-simulation/pop/Religion.hpp b/src/openvic-simulation/pop/Religion.hpp index 4cc8403..6f34eee 100644 --- a/src/openvic-simulation/pop/Religion.hpp +++ b/src/openvic-simulation/pop/Religion.hpp @@ -23,9 +23,9 @@ namespace OpenVic { using icon_t = uint8_t; private: - ReligionGroup const& group; - const icon_t icon; - const bool pagan; + ReligionGroup const& PROPERTY(group); + const icon_t PROPERTY(icon); + const bool PROPERTY(pagan); Religion( std::string_view new_identifier, colour_t new_colour, ReligionGroup const& new_group, icon_t new_icon, @@ -34,10 +34,6 @@ namespace OpenVic { public: Religion(Religion&&) = default; - - ReligionGroup const& get_group() const; - icon_t get_icon() const; - bool get_pagan() const; }; struct ReligionManager { |