1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-02-01 01:15:31 +00:00
openmw-tes3mp/apps/openmw-mp/CellController.hpp
David Cernat 672bb707a7 Merge pull request #422 from TES3MP/0.6.3 while resolving conflicts
# Conflicts:
#   apps/openmw-mp/Networking.cpp
#   apps/openmw-mp/Networking.hpp
#   apps/openmw-mp/Script/Functions/World.cpp
#   apps/openmw-mp/processors/WorldProcessor.cpp
#   apps/openmw-mp/processors/WorldProcessor.hpp
#   apps/openmw-mp/processors/world/ProcessorContainer.hpp
#   apps/openmw-mp/processors/world/ProcessorDoorState.hpp
#   apps/openmw-mp/processors/world/ProcessorObjectDelete.hpp
#   apps/openmw-mp/processors/world/ProcessorObjectLock.hpp
#   apps/openmw-mp/processors/world/ProcessorObjectPlace.hpp
#   apps/openmw-mp/processors/world/ProcessorObjectScale.hpp
#   apps/openmw-mp/processors/world/ProcessorObjectSpawn.hpp
#   apps/openmw-mp/processors/world/ProcessorObjectState.hpp
#   apps/openmw-mp/processors/world/ProcessorObjectTrap.hpp
#   apps/openmw/mwmp/Networking.cpp
#   components/CMakeLists.txt
#   components/openmw-mp/Controllers/ObjectPacketController.hpp
#   components/openmw-mp/Controllers/WorldPacketController.cpp
#   components/openmw-mp/Packets/Object/ObjectPacket.cpp
#   components/openmw-mp/Packets/Object/ObjectPacket.hpp
#   components/openmw-mp/Packets/Object/PacketConsoleCommand.hpp
#   components/openmw-mp/Packets/Object/PacketContainer.hpp
#   components/openmw-mp/Packets/Object/PacketDoorState.hpp
#   components/openmw-mp/Packets/Object/PacketMusicPlay.hpp
#   components/openmw-mp/Packets/Object/PacketObjectAnimPlay.hpp
#   components/openmw-mp/Packets/Object/PacketObjectDelete.hpp
#   components/openmw-mp/Packets/Object/PacketObjectLock.hpp
#   components/openmw-mp/Packets/Object/PacketObjectMove.hpp
#   components/openmw-mp/Packets/Object/PacketObjectPlace.hpp
#   components/openmw-mp/Packets/Object/PacketObjectRotate.hpp
#   components/openmw-mp/Packets/Object/PacketObjectScale.hpp
#   components/openmw-mp/Packets/Object/PacketObjectSpawn.hpp
#   components/openmw-mp/Packets/Object/PacketObjectState.hpp
#   components/openmw-mp/Packets/Object/PacketObjectTrap.hpp
#   components/openmw-mp/Packets/Object/PacketScriptGlobalShort.hpp
#   components/openmw-mp/Packets/Object/PacketScriptLocalFloat.hpp
#   components/openmw-mp/Packets/Object/PacketScriptLocalShort.hpp
#   components/openmw-mp/Packets/Object/PacketScriptMemberShort.hpp
#   components/openmw-mp/Packets/Object/PacketVideoPlay.hpp
2018-05-12 20:35:34 +03:00

47 lines
1.2 KiB
C++

#ifndef OPENMW_SERVERCELLCONTROLLER_HPP
#define OPENMW_SERVERCELLCONTROLLER_HPP
#include <deque>
#include <string>
#include <components/esm/records.hpp>
#include <components/openmw-mp/Base/BaseEvent.hpp>
#include <components/openmw-mp/Packets/Actor/ActorPacket.hpp>
#include <components/openmw-mp/Packets/Object/ObjectPacket.hpp>
class Player;
class Cell;
class CellController
{
private:
CellController() = default;
~CellController();
public:
CellController(const CellController&) = delete;
CellController(CellController&&) = delete;
CellController& operator=(const CellController&) = delete;
CellController& operator=(CellController&&) = delete;
static CellController &get();
public:
typedef std::deque<Cell*> TContainer;
typedef TContainer::iterator TIter;
Cell *addCell(const ESM::Cell &cellData);
void removeCell(Cell *);
void removePlayer(Cell *cell, Player *player);
void deletePlayer(Player *player);
Cell *getCell(const ESM::Cell &esmCell);
Cell *getCellByXY(int x, int y);
Cell *getCellByName(const std::string &cellName);
void update(Player *player);
private:
TContainer cells;
};
#endif //OPENMW_SERVERCELLCONTROLLER_HPP