Simulator: add singleton static instance

This commit is contained in:
2025-01-03 21:00:01 -04:00
parent f9b377a9f4
commit bf2c73ed29
2 changed files with 15 additions and 28 deletions
-21
View File
@@ -1,21 +0,0 @@
#ifndef CANVAS_H
#define CANVAS_H
#include <simulator/scene.h>
namespace canvas {
class Canvas {
public:
Canvas();
~Canvas();
SceneId loadScene(Scene &scene);
private:
// Add private members here
};
} // namespace canvas
#endif // CANVAS_H
+15 -7
View File
@@ -1,22 +1,30 @@
#ifndef SIMULATOR_H
#define SIMULATOR_H
#include <simulator/canvas.h>
#include <simulator/scene.h>
namespace simulator {
class Simulator {
public:
Simulator();
~Simulator();
Simulator(const Simulator&) = delete;
void operator=(const Simulator&) = delete;
static Simulator& instance()
{
static Simulator instance;
return instance;
}
void initialize();
void run();
void stop();
void loadScene(scene::Scene::Id sceneId, scene::Scene &scene);
private:
bool isRunning;
Canvas canvas;
Simulator() = default;
~Simulator() = default;
scene::Scene::Id sceneId;
scene::Scene scene;
};
}