diff options
Diffstat (limited to 'Minecraft.World/RemoveEntitiesPacket.cpp')
| -rw-r--r-- | Minecraft.World/RemoveEntitiesPacket.cpp | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/Minecraft.World/RemoveEntitiesPacket.cpp b/Minecraft.World/RemoveEntitiesPacket.cpp new file mode 100644 index 00000000..609cfa77 --- /dev/null +++ b/Minecraft.World/RemoveEntitiesPacket.cpp @@ -0,0 +1,56 @@ +#include "stdafx.h" +#include <iostream> +#include "ArrayWithLength.h" +#include "InputOutputStream.h" +#include "PacketListener.h" +#include "RemoveEntitiesPacket.h" + +RemoveEntitiesPacket::RemoveEntitiesPacket() +{ +} + +RemoveEntitiesPacket::RemoveEntitiesPacket(intArray ids) +{ + this->ids = ids; +} + +RemoveEntitiesPacket::~RemoveEntitiesPacket() +{ + delete ids.data; +} + +void RemoveEntitiesPacket::read(DataInputStream *dis) //throws IOException +{ + ids = intArray(dis->readByte()); + for(unsigned int i = 0; i < ids.length; ++i) + { + ids[i] = dis->readInt(); + } +} + +void RemoveEntitiesPacket::write(DataOutputStream *dos) //throws IOException +{ + dos->writeByte(ids.length); + for(unsigned int i = 0; i < ids.length; ++i) + { + dos->writeInt(ids[i]); + } +} + +void RemoveEntitiesPacket::handle(PacketListener *listener) +{ + listener->handleRemoveEntity(shared_from_this()); +} + +int RemoveEntitiesPacket::getEstimatedSize() +{ + return 1 + (ids.length * 4); +} + +/* + 4J: These are necesary on the PS3. + (and 4). +*/ +#if (defined __PS3__ || defined __ORBIS__ || defined __PSVITA__) +const int RemoveEntitiesPacket::MAX_PER_PACKET; +#endif |
