Add Director, director::CommandList, hk::Goal and fixups

* Simulator and Director are no longer singletons.
This commit is contained in:
2025-01-03 21:22:03 -04:00
parent bf2c73ed29
commit 6beda55971
6 changed files with 108 additions and 27 deletions
+5 -5
View File
@@ -5,7 +5,7 @@
#include <cstdint>
#include <mentalEntity.h>
namespace scene {
namespace simulator {
/**
* @brief Base class for all commands, storing a reference to a mental entity ID.
@@ -30,9 +30,9 @@ public:
/**
* @brief Used by Scene to point to the currently executing command.
*
* scene::Scene maintains an internal cursor. As it executes commands from
* its internal command list, it advances the cursor to the current command
* before executing it.
* simulator::Scene maintains an internal cursor. As it executes commands
* from its internal command list, it advances the cursor to the current
* command before executing it.
*/
class Cursor
{
@@ -67,6 +67,6 @@ public:
std::vector<Command> commands;
};
} // namespace scene
} // namespace simulator
#endif // SIMULATOR_COMMANDLIST_H
+1 -1
View File
@@ -6,7 +6,7 @@
#include <mentalEntity.h>
#include <simulator/commandList.h>
namespace scene {
namespace simulator {
class Scene
{
+6 -15
View File
@@ -7,24 +7,15 @@ namespace simulator {
class Simulator {
public:
Simulator(const Simulator&) = delete;
void operator=(const Simulator&) = delete;
static Simulator& instance()
{
static Simulator instance;
return instance;
}
void initialize();
void loadScene(scene::Scene::Id sceneId, scene::Scene &scene);
private:
Simulator() = default;
~Simulator() = default;
scene::Scene::Id sceneId;
scene::Scene scene;
void initialize();
void loadScene(Scene::Id sceneId, Scene &scene);
private:
Scene::Id sceneId;
Scene scene;
};
}