topical media & game development
lib-game-delta3d-sdk-examples-testNetwork-packets.cpp / cpp
include <iostream>
include <gnelib/PacketParser.h>
include <gnelib/Buffer.h>
include <packets.h>
//our unique ID for this custom packet
const int PositionPacket::ID = GNE::PacketParser::MIN_USER_ID;
PositionPacket::PositionPacket()
: GNE::Packet(ID)
{
}
PositionPacket::PositionPacket(osg::Vec3 xyz, osg::Vec3 hpr, const std::string& ownerID)
: GNE::Packet(ID)
{
mXYZ = xyz;
mHPR = hpr;
mOwnerID = ownerID;
}
PositionPacket::PositionPacket(const PositionPacket& p)
: GNE::Packet(ID)
{
mXYZ = p.mXYZ;
mHPR = p.mHPR;
mOwnerID = p.mOwnerID;
}
void PositionPacket::writePacket(GNE::Buffer& raw) const
{
GNE::Packet::writePacket(raw);
raw << mXYZ._v[0];
raw << mXYZ._v[1];
raw << mXYZ._v[2];
raw << mHPR._v[0];
raw << mHPR._v[1];
raw << mHPR._v[2];
raw << mOwnerID;
}
void PositionPacket::readPacket(GNE::Buffer& raw)
{
GNE::Packet::readPacket(raw);
raw >> mXYZ._v[0];
raw >> mXYZ._v[1];
raw >> mXYZ._v[2];
raw >> mHPR._v[0];
raw >> mHPR._v[1];
raw >> mHPR._v[2];
raw >> mOwnerID;
}
//return the size in bytes
int PositionPacket::getSize() const
{
return Packet::getSize() + sizeof(mXYZ) + sizeof(mHPR) + sizeof(mOwnerID);
}
const int PlayerQuitPacket::ID = GNE::PacketParser::MIN_USER_ID + 1;
PlayerQuitPacket::PlayerQuitPacket(const std::string& playerID)
: GNE::Packet(ID)
, mPlayerID(playerID)
{
}
PlayerQuitPacket::PlayerQuitPacket()
: GNE::Packet(ID)
{
}
PlayerQuitPacket::PlayerQuitPacket(const PlayerQuitPacket& p)
: GNE::Packet(ID)
, mPlayerID(p.mPlayerID)
{
}
void PlayerQuitPacket::writePacket(GNE::Buffer& raw) const
{
GNE::Packet::writePacket(raw);
raw << mPlayerID;
}
void PlayerQuitPacket::readPacket(GNE::Buffer& raw)
{
GNE::Packet::readPacket(raw);
raw >> mPlayerID;
}
int PlayerQuitPacket::getSize() const
{
return Packet::getSize() + sizeof(mPlayerID);
}
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.