mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-31 09:45:38 +00:00
d4dbfdfdb6
Conflicts: apps/openmw-mp/Networking.cpp apps/openmw-mp/Script/Functions/World.cpp apps/openmw-mp/Script/Functions/World.hpp 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/mwgui/container.cpp apps/openmw/mwmp/Networking.cpp apps/openmw/mwmp/ObjectList.cpp apps/openmw/mwmp/ObjectList.hpp apps/openmw/mwmp/processors/world/ProcessorContainer.hpp components/CMakeLists.txt components/openmw-mp/Base/BaseObject.hpp components/openmw-mp/Packets/Object/ObjectPacket.cpp components/openmw-mp/Packets/Object/PacketConsoleCommand.cpp components/openmw-mp/Packets/Object/PacketContainer.cpp 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/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
47 lines
1.2 KiB
C++
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/BaseObject.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
|