From 9a03666ff3a4861775f3b475ef8135bc7eb94aa5 Mon Sep 17 00:00:00 2001 From: hop311 Date: Tue, 17 Dec 2024 00:01:50 +0000 Subject: [PATCH] Fix has_building parse special callback on Linux --- src/openvic-simulation/scripts/Condition.cpp | 28 +++++++++----------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/openvic-simulation/scripts/Condition.cpp b/src/openvic-simulation/scripts/Condition.cpp index 6c17c66a..bb957818 100644 --- a/src/openvic-simulation/scripts/Condition.cpp +++ b/src/openvic-simulation/scripts/Condition.cpp @@ -378,6 +378,18 @@ static bool _parse_condition_node_special_callback_country( return false; } +static bool _parse_condition_node_special_callback_building_type_type( + Condition const& condition, DefinitionManager const& definition_manager, callback_t callback, + std::string_view str, bool& ret +) { + if (definition_manager.get_economy_manager().get_building_type_manager().get_building_type_types().contains(str)) { + ret = callback(std::string { str }); + return true; + } + + return false; +} + template concept IsValidArgument = // Value arguments @@ -2688,21 +2700,7 @@ bool ConditionManager::setup_conditions(DefinitionManager const& definition_mana ret &= add_condition( "has_building", _parse_condition_node_value_callback< - BuildingType const*, PROVINCE, - +[]( - Condition const& condition, DefinitionManager const& definition_manager, callback_t callback, - std::string_view str, bool& ret - ) -> bool { - if ( - definition_manager.get_economy_manager().get_building_type_manager().get_building_type_types() - .contains(str) - ) { - ret = callback(std::string { str }); - return true; - } - - return false; - } + BuildingType const*, PROVINCE, _parse_condition_node_special_callback_building_type_type >, _execute_condition_node_unimplemented );