#pragma once #include #include using namespace std::chrono_literals; #include "People.h" #include "Canvas.h" class Museum { public: Museum(); virtual ~Museum(); public: People people; Canvas canvas; public: void set_pause(bool paused); bool get_pause() { return this->paused; } void update(); void skip_forward(); void skip_backward(); private: bool paused = true; unsigned long jump = 0; private: bool working = true; std::thread * worker = nullptr; void work(); private: unsigned long long tick = 0; static constexpr unsigned snapshot_ticks = 50; static constexpr std::chrono::milliseconds tick_interval = 15ms; };