#pragma once

#include "blitz/protocol/Protocol.h"

namespace blitz {
namespace protocol {

class ConnexionInfoPacket : public Packet {
  private:
	std::uint8_t m_ConnectionID;

  public:
	ConnexionInfoPacket() {}
	ConnexionInfoPacket(std::uint8_t connectionID) : m_ConnectionID(connectionID) {}
	virtual ~ConnexionInfoPacket() {}

	virtual DataBuffer Serialize(bool packetID = true) const;
	virtual void Deserialize(DataBuffer& data);
	virtual void Dispatch(PacketHandler* handler) const;

	std::uint8_t GetConnectionID() const {
		return m_ConnectionID;
	}

	virtual PacketType GetType() const {
		return PacketType::ConnectionInfo;
	}
};

}  // namespace protocol
}  // namespace blitz
