diff options
author | Hop311 <hop3114@gmail.com> | 2023-05-16 20:59:39 +0200 |
---|---|---|
committer | Hop311 <hop3114@gmail.com> | 2023-05-16 20:59:39 +0200 |
commit | 42d9d1d5417deb5979a9d5775cfe97dcff4b77ba (patch) | |
tree | 440634772615531e704a5554aa59c9890cd9cd85 /src/openvic2/GameAdvancementHook.hpp | |
parent | 339e0278a2064f7eeb152fe8c5778840b609e9f3 (diff) |
Changed from OpenVic2 to OpenVic
Diffstat (limited to 'src/openvic2/GameAdvancementHook.hpp')
-rw-r--r-- | src/openvic2/GameAdvancementHook.hpp | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/src/openvic2/GameAdvancementHook.hpp b/src/openvic2/GameAdvancementHook.hpp deleted file mode 100644 index 07f8414..0000000 --- a/src/openvic2/GameAdvancementHook.hpp +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once - -#include <chrono> -#include <functional> -#include <vector> - -namespace OpenVic2 { - //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: - std::chrono::time_point<std::chrono::high_resolution_clock> lastPolledTime; - //A function pointer that advances the simulation, intended to be a capturing lambda or something similar. May need to be reworked later - AdvancementFunction triggerFunction; - RefreshFunction refreshFunction; - speed_t currentSpeed; - - public: - bool isPaused; - - GameAdvancementHook(AdvancementFunction tickFunction, RefreshFunction updateFunction, bool startPaused = true, speed_t startingSpeed = 0); - - void setSimulationSpeed(speed_t speed); - speed_t getSimulationSpeed() const; - void increaseSimulationSpeed(); - void decreaseSimulationSpeed(); - bool canIncreaseSimulationSpeed() const; - bool canDecreaseSimulationSpeed() const; - GameAdvancementHook& operator++(); - GameAdvancementHook& operator--(); - void conditionallyAdvanceGame(); - void reset(); - }; -}
\ No newline at end of file |