aboutsummaryrefslogtreecommitdiff
path: root/extension/src/Simulation.hpp
diff options
context:
space:
mode:
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
commit04b213d4e20ca4e7ea66b059329771f6fd36c650 (patch)
tree4ab10469ceff9a536587af6e9901a170c56af0ff /extension/src/Simulation.hpp
parentf168c91ff266beda8066014257a30d93704882ee (diff)
Removing TestSingleton
Extracted game advancement behaviour to separate class
Diffstat (limited to 'extension/src/Simulation.hpp')
-rw-r--r--extension/src/Simulation.hpp68
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