41 lines
815 B
C++
41 lines
815 B
C++
#ifndef _SCENE_H
|
|
#define _SCENE_H
|
|
|
|
#include <cstdint>
|
|
#include <map>
|
|
#include <mentalEntity.h>
|
|
#include <simulator/commandList.h>
|
|
|
|
namespace hk {
|
|
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 hk
|
|
|
|
#endif
|
|
|