Files
salmanoff/smocore/include/simulator/scene.h
T
2025-07-22 06:48:04 -04:00

41 lines
817 B
C++

#ifndef _SCENE_H
#define _SCENE_H
#include <cstdint>
#include <map>
#include <mentalEntity.h>
#include <simulator/commandList.h>
namespace smo {
namespace simulator {
class Scene
{
public:
using Id = uint32_t;
Scene(void) :
cursor(commands)
{}
~Scene() = default;
bool hasMentalEntity(const MentalEntity::Id menty) const;
MentalEntity::Id addMentalEntity(const MentalEntity& menty);
void replaceMentalEntity(const MentalEntity::Id menty, const MentalEntity& newMenty);
void removeMentalEntity(const MentalEntity::Id menty);
void executeInd(void);
CommandList::Cursor haltInd(void);
private:
std::map<MentalEntity::Id, MentalEntity &> menties;
CommandList commands;
CommandList::Cursor cursor;
};
} // namespace simulator
} // namespace smo
#endif