diff options
author | hop311 <hop3114@gmail.com> | 2023-12-02 16:48:08 +0100 |
---|---|---|
committer | hop311 <hop3114@gmail.com> | 2023-12-02 20:14:29 +0100 |
commit | 4a899c1a9e83ab9476b85522751081be434caa35 (patch) | |
tree | f1f6276c91beceecdfd9b09083d1c91ea8b41b60 /src/openvic-simulation/GameAdvancementHook.hpp | |
parent | cd6875d5e0ca5e2545fd0e1647678cd18a6c81c2 (diff) |
Crime+event modifier loading + misc UI backend
Diffstat (limited to 'src/openvic-simulation/GameAdvancementHook.hpp')
-rw-r--r-- | src/openvic-simulation/GameAdvancementHook.hpp | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/src/openvic-simulation/GameAdvancementHook.hpp b/src/openvic-simulation/GameAdvancementHook.hpp deleted file mode 100644 index 75af718..0000000 --- a/src/openvic-simulation/GameAdvancementHook.hpp +++ /dev/null @@ -1,47 +0,0 @@ -#pragma once - -#include <chrono> -#include <functional> -#include <vector> -#include "openvic-simulation/utility/Getters.hpp" - -namespace OpenVic { - // Conditionally advances game with provided behaviour - // Class governs game speed and pause state - class GameAdvancementHook { - public: - using AdvancementFunction = std::function<void()>; - using RefreshFunction = std::function<void()>; - using speed_t = int8_t; - - // Minimum number of miliseconds before the simulation advances - static const std::vector<std::chrono::milliseconds> GAME_SPEEDS; - - private: - using time_point_t = std::chrono::time_point<std::chrono::high_resolution_clock>; - - time_point_t last_polled_time; - // A function pointer that advances the simulation, intended to be a capturing - // lambda or something similar. May need to be reworked later - AdvancementFunction trigger_function; - RefreshFunction refresh_function; - speed_t PROPERTY_CUSTOM_NAME(current_speed, get_simulation_speed); - - public: - bool is_paused; - - GameAdvancementHook( - AdvancementFunction tick_function, RefreshFunction update_function, bool start_paused = true, speed_t starting_speed = 0 - ); - - void set_simulation_speed(speed_t speed); - void increase_simulation_speed(); - void decrease_simulation_speed(); - bool can_increase_simulation_speed() const; - bool can_decrease_simulation_speed() const; - GameAdvancementHook& operator++(); - GameAdvancementHook& operator--(); - void conditionally_advance_game(); - void reset(); - }; -} |