Botcraft
1.21.5
Loading...
Searching...
No Matches
BasePacket.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
protocolCraft/Packet.hpp
"
4
5
namespace
ProtocolCraft
6
{
7
class
Handler;
8
9
template
<
typename
TDerived>
10
class
BasePacket
:
public
Packet
11
{
12
public
:
13
virtual
~BasePacket
()
override
{};
14
15
virtual
int
GetId
()
const override
;
16
virtual
std::string_view
GetName
()
const override
{
return
TDerived::packet_name; }
17
#ifdef PROTOCOLCRAFT_DETAILED_PARSING
18
virtual
std::shared_ptr<Packet> CopyTypeOnly()
const override
{
return
std::make_shared<TDerived>(); }
19
#endif
20
21
protected
:
22
// We can't have definition in hpp file as Handler is still an incomplete class at this point
23
virtual
void
DispatchImpl
(Handler* handler)
override
;
24
25
// Convenience to access "current" class when implementing TDerived
26
using
THIS
= TDerived;
27
};
28
}
Packet.hpp
ProtocolCraft::BasePacket
Definition
BasePacket.hpp:11
ProtocolCraft::BasePacket::DispatchImpl
virtual void DispatchImpl(Handler *handler) override
Definition
BasePacket.cpp:58
ProtocolCraft::BasePacket::~BasePacket
virtual ~BasePacket() override
Definition
BasePacket.hpp:13
ProtocolCraft::BasePacket::GetId
virtual int GetId() const override
Definition
BasePacket.cpp:11
ProtocolCraft::BasePacket::THIS
TDerived THIS
Definition
BasePacket.hpp:26
ProtocolCraft::BasePacket::GetName
virtual std::string_view GetName() const override
Definition
BasePacket.hpp:16
ProtocolCraft::Packet
Definition
Packet.hpp:13
ProtocolCraft
Definition
ItemUtilities.hpp:8
protocolCraft
include
protocolCraft
BasePacket.hpp
Generated by
1.9.8