#ifndef OPENMW_SERVERCELLCONTROLLER_HPP #define OPENMW_SERVERCELLCONTROLLER_HPP #include #include #include #include #include #include class Player; class Cell; class CellController { private: CellController(); ~CellController(); CellController(CellController&); // not used public: static void create(); static void destroy(); static CellController *get(); public: typedef std::deque TContainer; typedef TContainer::iterator TIter; Cell * addCell(const ESM::Cell &cell); void removeCell(Cell *); void deletePlayer(Player *player); Cell *getCell(ESM::Cell *esmCell); Cell *getCellByXY(int x, int y); Cell *getCellByName(const std::string &cellName); void update(Player *player); private: static CellController *sThis; TContainer cells; }; #endif //OPENMW_SERVERCELLCONTROLLER_HPP