diff options
author | ClarkeCode <clarke.john.robert@gmail.com> | 2023-04-15 05:41:57 +0200 |
---|---|---|
committer | ClarkeCode <clarke.john.robert@gmail.com> | 2023-04-17 22:04:28 +0200 |
commit | 04b213d4e20ca4e7ea66b059329771f6fd36c650 (patch) | |
tree | 4ab10469ceff9a536587af6e9901a170c56af0ff /extension/src/Simulation.hpp | |
parent | f168c91ff266beda8066014257a30d93704882ee (diff) |
Removing TestSingleton
Extracted game advancement behaviour to separate class
Diffstat (limited to 'extension/src/Simulation.hpp')
-rw-r--r-- | extension/src/Simulation.hpp | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/extension/src/Simulation.hpp b/extension/src/Simulation.hpp deleted file mode 100644 index 58ba7c7..0000000 --- a/extension/src/Simulation.hpp +++ /dev/null @@ -1,68 +0,0 @@ -#pragma once - -#include <godot_cpp/core/class_db.hpp> -#include <vector> -#include <chrono> -#include "openvic2/Date.hpp" - -namespace OpenVic2 { - class Simulation : public godot::Object { - GDCLASS(Simulation, godot::Object) - std::vector<uint64_t> exampleProvinces; - - enum class Speed { Speed1 = 4000, Speed2 = 3000, Speed3 = 2000, Speed4 = 1000, Speed5 = 100, Speed6 = 1 }; - - std::chrono::time_point<std::chrono::high_resolution_clock> lastPolledTime; - bool isPaused; - Speed currentSpeed; - Date inGameDate; - - //BEGIN BOILERPLATE - inline static Simulation* _simulation = nullptr; - - protected: - static void _bind_methods() { - godot::ClassDB::bind_method(godot::D_METHOD("conductSimulationStep"), &Simulation::conductSimulationStep); - godot::ClassDB::bind_method(godot::D_METHOD("queryProvinceSize"), &Simulation::queryProvinceSize); - } - - public: - inline static Simulation* get_singleton() { return _simulation; } - - inline Simulation() : inGameDate(1836, 1, 1) { - ERR_FAIL_COND(_simulation != nullptr); - _simulation = this; - this->lastPolledTime = std::chrono::high_resolution_clock::now(); - this->isPaused = false; - this->currentSpeed = Speed::Speed1; - exampleProvinces.resize(10, 1); - } - inline ~Simulation() { - ERR_FAIL_COND(_simulation != this); - _simulation = nullptr; - } - //END BOILERPLATE - - void togglePauseState(); - bool getPauseState(); - void increaseSimulationSpeed(); - void decreaseSimulationSpeed(); - void setSimulationSpeed(Speed speed); - int getSimulationSpeed(); - - inline void conductSimulationStep() { - for (uint64_t x = 0; x < exampleProvinces.size(); x++) { - exampleProvinces[x] += (x + 1); - } - } - - inline uint64_t queryProvinceSize(uint64_t provinceID) { - if (provinceID >= exampleProvinces.size()) { - return 0; - } - return exampleProvinces[provinceID]; - } - - void conditionallyAdvanceSimulation(); - }; -}
\ No newline at end of file |