#include #include "PacketActorList.hpp" using namespace mwmp; PacketActorList::PacketActorList(RakNet::RakPeerInterface *peer) : ActorPacket(peer) { packetID = ID_ACTOR_LIST; } void PacketActorList::Packet(RakNet::BitStream *bs, bool send) { if (!ActorPacket::PacketHeader(bs, send)) return; RW(actorList->action, send); BaseActor actor; for (unsigned int i = 0; i < actorList->count; i++) { if (send) actor = actorList->baseActors.at(i); RW(actor.refId, send); RW(actor.refNum, send); RW(actor.mpNum, send); if (actor.refId.empty() || (actor.refNum != 0 && actor.mpNum != 0)) { actorList->isValid = false; return; } if (!send) actorList->baseActors.push_back(actor); } }