forked from teamnwah/openmw-tes3coop
672bb707a7
# 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
58 lines
1.6 KiB
C++
58 lines
1.6 KiB
C++
//
|
|
// Created by koncord on 18.02.17.
|
|
//
|
|
|
|
#ifndef OPENMW_SERVERCELL_HPP
|
|
#define OPENMW_SERVERCELL_HPP
|
|
|
|
#include <deque>
|
|
#include <string>
|
|
#include <components/esm/records.hpp>
|
|
#include <components/openmw-mp/Base/BaseActor.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 Cell
|
|
{
|
|
friend class CellController;
|
|
public:
|
|
Cell(const ESM::Cell &cell);
|
|
typedef std::deque<Player*> TPlayers;
|
|
typedef TPlayers::const_iterator Iterator;
|
|
|
|
Iterator begin() const;
|
|
Iterator end() const;
|
|
|
|
void addPlayer(Player *player);
|
|
void removePlayer(Player *player);
|
|
|
|
void readActorList(unsigned char packetID, const mwmp::BaseActorList *newActorList);
|
|
bool containsActor(unsigned refNumIndex, unsigned mpNum);
|
|
mwmp::BaseActor *getActor(unsigned refNumIndex, unsigned mpNum);
|
|
void removeActors(const mwmp::BaseActorList &newActorList);
|
|
|
|
RakNet::RakNetGUID *getAuthority();
|
|
void setAuthority(const RakNet::RakNetGUID& guid);
|
|
mwmp::BaseActorList *getActorList();
|
|
|
|
TPlayers getPlayers() const;
|
|
void sendToLoaded(mwmp::ActorPacket *actorPacket, mwmp::BaseActorList *baseActorList) const;
|
|
void sendToLoaded(mwmp::ObjectPacket *objectPacket, mwmp::BaseEvent *baseEvent) const;
|
|
|
|
std::string getDescription() const;
|
|
|
|
|
|
private:
|
|
TPlayers players;
|
|
ESM::Cell cell;
|
|
|
|
RakNet::RakNetGUID authorityGuid;
|
|
mwmp::BaseActorList cellActorList;
|
|
};
|
|
|
|
|
|
#endif //OPENMW_SERVERCELL_HPP
|