2025-01-03 20:02:24 -04:00
|
|
|
#ifndef SIMULATOR_H
|
|
|
|
|
#define SIMULATOR_H
|
|
|
|
|
|
2025-01-04 07:33:15 -04:00
|
|
|
#include <config.h>
|
2025-12-27 14:15:17 -04:00
|
|
|
#include <spinscale/puppetApplication.h>
|
2025-12-26 01:18:39 -04:00
|
|
|
#include <spinscale/component.h>
|
2025-01-03 21:00:01 -04:00
|
|
|
#include <simulator/scene.h>
|
2025-01-03 20:02:24 -04:00
|
|
|
|
2025-07-22 06:48:04 -04:00
|
|
|
namespace smo {
|
2025-09-14 22:17:19 -04:00
|
|
|
|
|
|
|
|
class Mind;
|
|
|
|
|
|
2025-01-03 20:02:24 -04:00
|
|
|
namespace simulator {
|
|
|
|
|
|
2025-09-14 22:17:19 -04:00
|
|
|
class Simulator
|
2025-12-27 16:21:22 -04:00
|
|
|
: public sscl::PuppetComponent
|
2025-09-14 22:17:19 -04:00
|
|
|
{
|
2025-01-03 20:02:24 -04:00
|
|
|
public:
|
2025-12-27 16:21:22 -04:00
|
|
|
Simulator(Mind &parent, const std::shared_ptr<sscl::ComponentThread> &thread);
|
2025-09-14 22:17:19 -04:00
|
|
|
~Simulator() = default;
|
2025-01-03 20:02:24 -04:00
|
|
|
|
|
|
|
|
void initialize();
|
2025-01-03 21:22:03 -04:00
|
|
|
void loadScene(Scene::Id sceneId, Scene &scene);
|
2025-01-03 20:02:24 -04:00
|
|
|
|
|
|
|
|
private:
|
2025-01-03 21:22:03 -04:00
|
|
|
Scene::Id sceneId;
|
|
|
|
|
Scene scene;
|
2025-01-03 20:02:24 -04:00
|
|
|
};
|
|
|
|
|
|
2025-01-04 11:32:37 -04:00
|
|
|
} // namespace simulator
|
2025-07-22 06:48:04 -04:00
|
|
|
} // namespace smo
|
2025-01-03 20:02:24 -04:00
|
|
|
|
|
|
|
|
#endif // SIMULATOR_H
|