diff options
author | Hop311 <Hop3114@gmail.com> | 2024-09-10 00:04:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-10 00:04:30 +0200 |
commit | 7a9206e3869fbb659d296b854c90f5c81755a5ca (patch) | |
tree | 1e00781e634cbb7ea6f31343f6751f7755bd53ef /src/openvic-simulation/military/UnitType.cpp | |
parent | 79dbf71dd23623059ea9eabd87956f93604be1ed (diff) | |
parent | d67cd2d08fe2859809e35b93f5a8358c48a3705e (diff) |
Merge pull request #195 from OpenVicProject/ranking
Ranking System
Diffstat (limited to 'src/openvic-simulation/military/UnitType.cpp')
-rw-r--r-- | src/openvic-simulation/military/UnitType.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/openvic-simulation/military/UnitType.cpp b/src/openvic-simulation/military/UnitType.cpp index 11f7221..d4ffbee 100644 --- a/src/openvic-simulation/military/UnitType.cpp +++ b/src/openvic-simulation/military/UnitType.cpp @@ -1,5 +1,6 @@ #include "UnitType.hpp" +#include "openvic-simulation/country/CountryInstance.hpp" #include "openvic-simulation/map/TerrainType.hpp" using namespace OpenVic; @@ -30,6 +31,29 @@ UnitType::UnitType( supply_cost { std::move(unit_args.supply_cost) }, terrain_modifiers { std::move(unit_args.terrain_modifiers) } {} +bool UnitTypeBranched<LAND>::allowed_cultures_check_culture_in_country( + allowed_cultures_t allowed_cultures, Culture const& culture, CountryInstance const& country +) { + using enum allowed_cultures_t; + + switch (allowed_cultures) { + case ALL_CULTURES: + return true; + case ACCEPTED_CULTURES: + return country.is_primary_or_accepted_culture(culture); + case PRIMARY_CULTURE: + return country.is_primary_culture(culture); + case NO_CULTURES: + return false; + default: + Logger::error( + "Unknown allowed cultures value ", static_cast<uint32_t>(allowed_cultures), " for culture ", + culture.get_identifier(), " and country ", country.get_identifier() + ); + return false; + } +} + UnitTypeBranched<LAND>::UnitTypeBranched( std::string_view new_identifier, unit_type_args_t& unit_args, regiment_type_args_t const& regiment_type_args ) : UnitType { new_identifier, LAND, unit_args }, |