66
77using namespace OpenVic ;
88
9- GameActionManager::GameActionManager (InstanceManager& new_instance_manager)
10- : instance_manager { new_instance_manager } {}
11-
12- bool GameActionManager::none (none_argument_t const & argument) const {
9+ bool GameActionManager::VariantVisitor::operator () (none_argument_t const & argument) const {
1310 return false ;
1411}
1512
1613// Core
17- bool GameActionManager::tick (tick_argument_t const & argument) const {
14+ bool GameActionManager::VariantVisitor::operator () (tick_argument_t const & argument) const {
1815 instance_manager.tick ();
1916 return true ;
2017}
2118
22- bool GameActionManager::set_pause (set_pause_argument_t const & new_is_paused) const {
19+ bool GameActionManager::VariantVisitor::operator () (set_pause_argument_t const & new_is_paused) const {
2320 const bool old_pause = instance_manager.get_simulation_clock ().is_paused ();
24- instance_manager.get_simulation_clock ().set_paused (new_is_paused);
21+ instance_manager.get_simulation_clock ().set_paused (type_safe::get ( new_is_paused) );
2522 return old_pause != instance_manager.get_simulation_clock ().is_paused ();
2623}
2724
28- bool GameActionManager::set_speed (set_speed_argument_t const & new_speed) const {
25+ bool GameActionManager::VariantVisitor::operator () (set_speed_argument_t const & new_speed) const {
2926 const SimulationClock::speed_t old_speed = instance_manager.get_simulation_clock ().get_simulation_speed ();
30- instance_manager.get_simulation_clock ().set_simulation_speed (new_speed);
27+ instance_manager.get_simulation_clock ().set_simulation_speed (type_safe::get ( new_speed) );
3128 return old_speed != instance_manager.get_simulation_clock ().get_simulation_speed ();
3229}
3330
34- bool GameActionManager::set_ai (set_ai_argument_t const & argument) const {
31+ bool GameActionManager::VariantVisitor::operator () (set_ai_argument_t const & argument) const {
3532 const auto [country_index, new_is_ai] = argument;
3633 CountryInstance* country = instance_manager.get_country_instance_manager ().get_country_instance_by_index (country_index);
3734
@@ -46,7 +43,7 @@ bool GameActionManager::set_ai(set_ai_argument_t const& argument) const {
4643}
4744
4845// Production
49- bool GameActionManager::expand_province_building (expand_province_building_argument_t const & argument) const {
46+ bool GameActionManager::VariantVisitor::operator () (expand_province_building_argument_t const & argument) const {
5047 const auto [province_index, building_type_index] = argument;
5148 ProvinceInstance* province = instance_manager.get_map_instance ().get_province_instance_by_index (province_index);
5249
@@ -59,7 +56,7 @@ bool GameActionManager::expand_province_building(expand_province_building_argume
5956}
6057
6158// Budget
62- bool GameActionManager::set_strata_tax (set_strata_tax_argument_t const & argument) const {
59+ bool GameActionManager::VariantVisitor::operator () (set_strata_tax_argument_t const & argument) const {
6360 const auto [country_index, strata_index, tax_rate] = argument;
6461 CountryInstance* country = instance_manager.get_country_instance_manager ().get_country_instance_by_index (country_index);
6562
@@ -79,7 +76,7 @@ bool GameActionManager::set_strata_tax(set_strata_tax_argument_t const& argument
7976 return false ;
8077}
8178
82- bool GameActionManager::set_army_spending (set_army_spending_argument_t const & argument) const {
79+ bool GameActionManager::VariantVisitor::operator () (set_army_spending_argument_t const & argument) const {
8380 const auto [country_index, spending] = argument;
8481 CountryInstance* country = instance_manager.get_country_instance_manager ().get_country_instance_by_index (country_index);
8582
@@ -92,7 +89,7 @@ bool GameActionManager::set_army_spending(set_army_spending_argument_t const& ar
9289 return false ;
9390}
9491
95- bool GameActionManager::set_navy_spending (set_navy_spending_argument_t const & argument) const {
92+ bool GameActionManager::VariantVisitor::operator () (set_navy_spending_argument_t const & argument) const {
9693 const auto [country_index, spending] = argument;
9794 CountryInstance* country = instance_manager.get_country_instance_manager ().get_country_instance_by_index (country_index);
9895
@@ -105,7 +102,7 @@ bool GameActionManager::set_navy_spending(set_navy_spending_argument_t const& ar
105102 return false ;
106103}
107104
108- bool GameActionManager::set_construction_spending (set_construction_spending_argument_t const & argument) const {
105+ bool GameActionManager::VariantVisitor::operator () (set_construction_spending_argument_t const & argument) const {
109106 const auto [country_index, spending] = argument;
110107 CountryInstance* country = instance_manager.get_country_instance_manager ().get_country_instance_by_index (country_index);
111108
@@ -118,7 +115,7 @@ bool GameActionManager::set_construction_spending(set_construction_spending_argu
118115 return false ;
119116}
120117
121- bool GameActionManager::set_education_spending (set_education_spending_argument_t const & argument) const {
118+ bool GameActionManager::VariantVisitor::operator () (set_education_spending_argument_t const & argument) const {
122119 const auto [country_index, spending] = argument;
123120 CountryInstance* country = instance_manager.get_country_instance_manager ().get_country_instance_by_index (country_index);
124121
@@ -131,7 +128,7 @@ bool GameActionManager::set_education_spending(set_education_spending_argument_t
131128 return false ;
132129}
133130
134- bool GameActionManager::set_administration_spending (set_administration_spending_argument_t const & argument) const {
131+ bool GameActionManager::VariantVisitor::operator () (set_administration_spending_argument_t const & argument) const {
135132 const auto [country_index, spending] = argument;
136133 CountryInstance* country = instance_manager.get_country_instance_manager ().get_country_instance_by_index (country_index);
137134
@@ -144,7 +141,7 @@ bool GameActionManager::set_administration_spending(set_administration_spending_
144141 return false ;
145142}
146143
147- bool GameActionManager::set_social_spending (set_social_spending_argument_t const & argument) const {
144+ bool GameActionManager::VariantVisitor::operator () (set_social_spending_argument_t const & argument) const {
148145 const auto [country_index, spending] = argument;
149146 CountryInstance* country = instance_manager.get_country_instance_manager ().get_country_instance_by_index (country_index);
150147
@@ -157,7 +154,7 @@ bool GameActionManager::set_social_spending(set_social_spending_argument_t const
157154 return false ;
158155}
159156
160- bool GameActionManager::set_military_spending (set_military_spending_argument_t const & argument) const {
157+ bool GameActionManager::VariantVisitor::operator () (set_military_spending_argument_t const & argument) const {
161158 const auto [country_index, spending] = argument;
162159 CountryInstance* country = instance_manager.get_country_instance_manager ().get_country_instance_by_index (country_index);
163160
@@ -170,7 +167,7 @@ bool GameActionManager::set_military_spending(set_military_spending_argument_t c
170167 return false ;
171168}
172169
173- bool GameActionManager::set_tariff_rate (set_tariff_rate_argument_t const & argument) const {
170+ bool GameActionManager::VariantVisitor::operator () (set_tariff_rate_argument_t const & argument) const {
174171 const auto [country_index, tariff_rate] = argument;
175172 CountryInstance* country = instance_manager.get_country_instance_manager ().get_country_instance_by_index (country_index);
176173
@@ -184,7 +181,7 @@ bool GameActionManager::set_tariff_rate(set_tariff_rate_argument_t const& argume
184181}
185182
186183// Technology
187- bool GameActionManager::start_research (start_research_argument_t const & argument) const {
184+ bool GameActionManager::VariantVisitor::operator () (start_research_argument_t const & argument) const {
188185 const auto [country_index, technology_index] = argument;
189186 CountryInstance* country = instance_manager.get_country_instance_manager ().get_country_instance_by_index (country_index);
190187
@@ -215,7 +212,7 @@ bool GameActionManager::start_research(start_research_argument_t const& argument
215212// Population
216213
217214// Trade
218- bool GameActionManager::set_good_automated (set_good_automated_argument_t const & argument) const {
215+ bool GameActionManager::VariantVisitor::operator () (set_good_automated_argument_t const & argument) const {
219216 const auto [country_index, good_index, new_is_automated] = argument;
220217 CountryInstance* country = instance_manager.get_country_instance_manager ().get_country_instance_by_index (country_index);
221218
@@ -240,7 +237,7 @@ bool GameActionManager::set_good_automated(set_good_automated_argument_t const&
240237 return old_automated != good_data.is_automated ;
241238}
242239
243- bool GameActionManager::set_good_trade_order (set_good_trade_order_argument_t const & argument) const {
240+ bool GameActionManager::VariantVisitor::operator () (set_good_trade_order_argument_t const & argument) const {
244241 const auto [country_index, good_index, new_is_selling, new_cutoff] = argument;
245242 CountryInstance* country = instance_manager.get_country_instance_manager ().get_country_instance_by_index (country_index);
246243
@@ -289,7 +286,7 @@ bool GameActionManager::set_good_trade_order(set_good_trade_order_argument_t con
289286// Diplomacy
290287
291288// Military
292- bool GameActionManager::create_leader (create_leader_argument_t const & argument) const {
289+ bool GameActionManager::VariantVisitor::operator () (create_leader_argument_t const & argument) const {
293290 const auto [country_index, unit_branch] = argument;
294291 CountryInstance* country = instance_manager.get_country_instance_manager ().get_country_instance_by_index (country_index);
295292
@@ -313,7 +310,7 @@ bool GameActionManager::create_leader(create_leader_argument_t const& argument)
313310 );
314311}
315312
316- bool GameActionManager::set_use_leader (set_use_leader_argument_t const & argument) const {
313+ bool GameActionManager::VariantVisitor::operator () (set_use_leader_argument_t const & argument) const {
317314 const auto [unique_id, new_should_use] = argument;
318315
319316 LeaderInstance* leader = instance_manager.get_unit_instance_manager ().get_leader_instance_by_unique_id (unique_id);
@@ -330,7 +327,7 @@ bool GameActionManager::set_use_leader(set_use_leader_argument_t const& argument
330327 return old_use != leader->get_can_be_used ();
331328}
332329
333- bool GameActionManager::set_auto_create_leaders (set_auto_create_leaders_argument_t const & argument) const {
330+ bool GameActionManager::VariantVisitor::operator () (set_auto_create_leaders_argument_t const & argument) const {
334331 const auto [country_index, new_should_auto_create] = argument;
335332 CountryInstance* country = instance_manager.get_country_instance_manager ().get_country_instance_by_index (country_index);
336333
@@ -346,7 +343,7 @@ bool GameActionManager::set_auto_create_leaders(set_auto_create_leaders_argument
346343 return old_auto_create != country->get_auto_create_leaders ();
347344}
348345
349- bool GameActionManager::set_auto_assign_leaders (set_auto_assign_leaders_argument_t const & argument) const {
346+ bool GameActionManager::VariantVisitor::operator () (set_auto_assign_leaders_argument_t const & argument) const {
350347 const auto [country_index, new_should_auto_assign] = argument;
351348 CountryInstance* country = instance_manager.get_country_instance_manager ().get_country_instance_by_index (country_index);
352349
@@ -362,7 +359,7 @@ bool GameActionManager::set_auto_assign_leaders(set_auto_assign_leaders_argument
362359 return old_auto_assign != country->get_auto_assign_leaders ();
363360}
364361
365- bool GameActionManager::set_mobilise (set_mobilise_argument_t const & argument) const {
362+ bool GameActionManager::VariantVisitor::operator () (set_mobilise_argument_t const & argument) const {
366363 const auto [country_index, new_is_mobilised] = argument;
367364 CountryInstance* country = instance_manager.get_country_instance_manager ().get_country_instance_by_index (country_index);
368365
0 commit comments