#ifndef WORLD_H #define WORLD_H class World; #include #ifndef WX_PRECOMP #include #endif #include #include #include #include class MapeditFrame; class Map; class World { public: World(); World(std::string filename); std::shared_ptr newMap(); std::shared_ptr getMap(int id) const; void setDirty(bool dirty); bool getDirty() const; std::string getFilename() const; void setParent(MapeditFrame* parent); void save(std::string filename, wxTreeCtrl* mapTree); Map* getLastMap() const; void setLastMap(Map* map); std::list> getRootMaps() const; const std::map> getMaps() const; bool getEmpty() const; Map* getStartingMap() const; std::pair getStartingPosition() const; void setStart(Map* map, std::pair startPos); private: MapeditFrame* parent; std::map> maps; int nextMapID = 0; bool dirty = false; std::string filename; int lastmap = 0; std::list rootChildren; bool empty = false; int startingMap = 0; std::pair startingPosition {100, 100}; }; #endif