#ifndef EDITMANAGER_H_ #define EDITMANAGER_H_ #include "SharedPtr.h" #include "Room.h" #include "IdManager.h" class Window; class EditManager { private: IdManager idManager; Window *window; LevelObject *hoveredObject; LevelObject *selectedObject; Vertex hoveredVertex; bool hasHoveredVertex; bool lineOk(const Room &newRoom, const Line &l) const; public: EditManager(Window *window); void redraw(); LevelObject* getHoveredObject() { return hoveredObject; } void setSelectedObject(LevelObject *object) { selectedObject = object; } LevelObject* getSelectedObject() { return selectedObject; } bool addRoom(const Room &room); const Vertex* getHoveredVertex() const; void setHoveredVertex(const Vertex *v, float scale); bool vertexOk(const Vertex &v, const Room *newRoom = NULL) const; bool polygonOk(const Polygon &polygon) const; }; #endif /*EDITMANAGER_H_*/