diff options
author | hop311 <hop3114@gmail.com> | 2024-07-19 00:25:38 +0200 |
---|---|---|
committer | hop311 <hop3114@gmail.com> | 2024-07-19 00:26:27 +0200 |
commit | d8baf57d46539da9edba5952f73089bf9a54bdaf (patch) | |
tree | 6d2de5221d2b1945a065e0abba8198d8a052a92a /src/openvic-simulation/military/UnitType.hpp | |
parent | a673f89bb2705826b1c646365eab1775727372b7 (diff) |
Unit position/country/leader handling + more use of unit branch templatesunit-work
Diffstat (limited to 'src/openvic-simulation/military/UnitType.hpp')
-rw-r--r-- | src/openvic-simulation/military/UnitType.hpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/openvic-simulation/military/UnitType.hpp b/src/openvic-simulation/military/UnitType.hpp index 1642f22..6bd7392 100644 --- a/src/openvic-simulation/military/UnitType.hpp +++ b/src/openvic-simulation/military/UnitType.hpp @@ -74,6 +74,19 @@ namespace OpenVic { UnitType(UnitType&&) = default; }; +#define _UNIT_BRANCHED_GETTER(name, land, naval, const) \ + template<UnitType::branch_t Branch> \ + constexpr auto const& name() const { \ + if constexpr (Branch == UnitType::branch_t::LAND) { \ + return land; \ + } else if constexpr (Branch == UnitType::branch_t::NAVAL) { \ + return naval; \ + } \ + } + +#define UNIT_BRANCHED_GETTER(name, land, naval) _UNIT_BRANCHED_GETTER(name, land, naval, ) +#define UNIT_BRANCHED_GETTER_CONST(name, land, naval) _UNIT_BRANCHED_GETTER(name, land, naval, const) + template<UnitType::branch_t> struct UnitTypeBranched; |