#ifndef GAME_MWWORLD_CELLS_H #define GAME_MWWORLD_CELLS_H #include #include #include "ptr.hpp" namespace ESM { class ESMReader; } namespace ESM { class ESMStore; } namespace MWWorld { class World; /// \brief Cell container class Cells { const ESMS::ESMStore& mStore; ESM::ESMReader& mReader; std::map mInteriors; std::map, Ptr::CellStore> mExteriors; MWWorld::World& mWorld; Cells (const Cells&); Cells& operator= (const Cells&); Ptr::CellStore *getCellStore (const ESM::Cell *cell); void fillContainers (Ptr::CellStore& cellStore); public: Cells (const ESMS::ESMStore& store, ESM::ESMReader& reader, MWWorld::World& world); ///< \todo pass the dynamic part of the ESMStore isntead (once it is written) of the whole /// world Ptr::CellStore *getExterior (int x, int y); Ptr::CellStore *getInterior (const std::string& name); Ptr getPtr (const std::string& name, Ptr::CellStore& cellStore); Ptr getPtr (const std::string& name); }; } #endif