From f981159689aaff401a1bb9461fcb37b598730ab5 Mon Sep 17 00:00:00 2001 From: BrickPi <49528459+BrickPi@users.noreply.github.com> Date: Wed, 4 Oct 2023 13:33:23 -0500 Subject: Generic Event Loading --- src/openvic-simulation/dataloader/Dataloader.cpp | 18 ++++++++++++++++++ src/openvic-simulation/dataloader/Dataloader.hpp | 4 ++-- 2 files changed, 20 insertions(+), 2 deletions(-) (limited to 'src/openvic-simulation/dataloader') diff --git a/src/openvic-simulation/dataloader/Dataloader.cpp b/src/openvic-simulation/dataloader/Dataloader.cpp index c986a78..8c6704b 100644 --- a/src/openvic-simulation/dataloader/Dataloader.cpp +++ b/src/openvic-simulation/dataloader/Dataloader.cpp @@ -505,6 +505,20 @@ bool Dataloader::_load_history(GameManager& game_manager, bool unused_history_fi return ret; } +bool Dataloader::_load_events(GameManager& game_manager) const { + static constexpr std::string_view events_directory = "events"; + const bool ret = apply_to_files( + lookup_files_in_dir(events_directory, ".txt"), + [&game_manager](fs::path const& file) -> bool { + return game_manager.get_event_manager().load_event_file( + game_manager.get_politics_manager().get_issue_manager(), parse_defines(file).get_file_node() + ); + } + ); + game_manager.get_event_manager().lock_events(); + return ret; +} + bool Dataloader::_load_map_dir(GameManager& game_manager) const { static constexpr std::string_view map_directory = "map/"; Map& map = game_manager.get_map(); @@ -795,6 +809,10 @@ bool Dataloader::load_defines(GameManager& game_manager) const { Logger::error("Failed to load history!"); ret = false; } + if (!_load_events(game_manager)) { + Logger::error("Failed to load events!"); + ret = false; + } return ret; } diff --git a/src/openvic-simulation/dataloader/Dataloader.hpp b/src/openvic-simulation/dataloader/Dataloader.hpp index e98d220..884588a 100644 --- a/src/openvic-simulation/dataloader/Dataloader.hpp +++ b/src/openvic-simulation/dataloader/Dataloader.hpp @@ -13,9 +13,8 @@ namespace OpenVic { class UIManager; struct PopManager; struct UnitManager; - struct ModifierManager; - struct TechnologyManager; struct GoodManager; + struct EventManager; class Dataloader { public: @@ -31,6 +30,7 @@ namespace OpenVic { bool _load_rebel_types(GameManager& game_manager) const; bool _load_technologies(GameManager& game_manager) const; bool _load_inventions(GameManager& game_manager) const; + bool _load_events(GameManager& game_manager) const; bool _load_map_dir(GameManager& game_manager) const; bool _load_history(GameManager& game_manager, bool unused_history_file_warnings) const; -- cgit v1.2.3-56-ga3b1