#ifndef SIMULATOR_H
#define SIMULATOR_H

#include <config.h>
#include <spinscale/puppetApplication.h>
#include <spinscale/component.h>
#include <mindComponent.h>
#include <simulator/scene.h>

namespace smo {

class Mind;

namespace simulator {

class Simulator
:	public MindComponent
{
public:
    Simulator(Mind &parent, const std::shared_ptr<sscl::PuppetThread> &thread);
	~Simulator() = default;

    void initialize();
    void loadScene(Scene::Id sceneId, Scene &scene);

private:
    Scene::Id sceneId;
    Scene scene;
};

} // namespace simulator
} // namespace smo

#endif // SIMULATOR_H