From b6f9d6433c4ace514fa991cea628c2598c3bc65c Mon Sep 17 00:00:00 2001 From: ClarkeCode Date: Fri, 28 Apr 2023 13:18:50 -0400 Subject: Temporarily removed; will be re-added after C++ code moved to submodule --- extension/src/openvic2/LoadGoods.cpp | 88 ------------------------------------ 1 file changed, 88 deletions(-) delete mode 100644 extension/src/openvic2/LoadGoods.cpp (limited to 'extension/src/openvic2/LoadGoods.cpp') diff --git a/extension/src/openvic2/LoadGoods.cpp b/extension/src/openvic2/LoadGoods.cpp deleted file mode 100644 index 12d8d0d..0000000 --- a/extension/src/openvic2/LoadGoods.cpp +++ /dev/null @@ -1,88 +0,0 @@ -#include "LoadGoods.hpp" - -#include -#include -#include -#include - -using namespace OpenVic2; -using namespace godot; - -#define JSON_PROPERTY_NAME(x) godot::StringName(x) - -std::vector LoadGoods::load_goods_from_disk(godot::String const& file_path) { - std::vector goods; - Ref file = FileAccess::open(file_path, FileAccess::ModeFlags::READ); - Error err = FileAccess::get_open_error(); - if (err != OK || file.is_null()) { - UtilityFunctions::push_error("Failed to open good configuration file: ", file_path); - return std::vector(); - } - godot::String file_content = file->get_as_text(); - JSON parsed_goods; - err = parsed_goods.parse(file_content); - if (err != OK) { - UtilityFunctions::push_error("Failed to parse goods.json"); - return std::vector(); - } - Variant v_goods = parsed_goods.get_data().get("goods", nullptr); - if (v_goods.get_type() != Variant::ARRAY) { - UtilityFunctions::push_error("Failed to parse goods.json: Top level property is not an array"); - return std::vector(); - } - godot::Array v_goods_array = (godot::Array)v_goods; - int32_t count = v_goods_array.size(); - goods.resize(count); - for (size_t i = 0; i < count; i++) { - if(!extract_property_from_json(v_goods_array[i], goods, i)) { - return std::vector(); - } - } - return goods; -} - -bool LoadGoods::extract_property_from_json(godot::Variant const& variant, std::vector& goods, int32_t index) { - bool valid; - String id = variant.get_named(JSON_PROPERTY_NAME("id"), valid); - if(!valid) { - UtilityFunctions::push_error("Could not extract property id of type string from goods.json"); - return false; - } - String category = variant.get_named(JSON_PROPERTY_NAME("category"), valid); - if(!valid) { - UtilityFunctions::push_error("Could not extract property category of type string from goods.json"); - return false; - } - float cost = static_cast(variant.get_named(JSON_PROPERTY_NAME("cost"), valid)); - if(!valid) { - UtilityFunctions::push_error("Could not extract property cost of type float from goods.json"); - return false; - } - String colour = variant.get_named(JSON_PROPERTY_NAME("colour"), valid); - if(!valid) { - UtilityFunctions::push_error("Could not extract property colour of type string from goods.json"); - return false; - } - bool isAvailableAtStart = static_cast(variant.get_named(JSON_PROPERTY_NAME("isAvailableAtStart"), valid)); - if(!valid) { - UtilityFunctions::push_error("Could not extract property isAvailableAtStart of type bool from goods.json"); - return false; - } - bool isTradable = static_cast(variant.get_named(JSON_PROPERTY_NAME("isTradeable"), valid)); - if(!valid) { - UtilityFunctions::push_error("Could not extract property isTradable of type bool from goods.json"); - return false; - } - bool isMoney = static_cast(variant.get_named(JSON_PROPERTY_NAME("isMoney"), valid)); - if(!valid) { - UtilityFunctions::push_error("Could not extract property isMoney of type bool from goods.json"); - return false; - } - bool hasOverseasPenalty = static_cast(variant.get_named(JSON_PROPERTY_NAME("hasOverseasPenalty"), valid)); - if(!valid) { - UtilityFunctions::push_error("Could not extract property hasOverseaPenalty of type bool from goods.json"); - return false; - } - goods.at(index) = Good(id, category, cost, colour, isAvailableAtStart, isTradable, isMoney, hasOverseasPenalty); - return true; -} \ No newline at end of file -- cgit v1.2.3-56-ga3b1