Horizon Official Technical Documentation
Horizon::Zone::CZ_REQUEST_MOVE Class Reference

Main object for the aegis packet: CZ_REQUEST_MOVE. More...

#include <HandledPackets.hpp>

+ Inheritance diagram for Horizon::Zone::CZ_REQUEST_MOVE:
+ Collaboration diagram for Horizon::Zone::CZ_REQUEST_MOVE:

Public Member Functions

 CZ_REQUEST_MOVE (std::shared_ptr< ZoneSession > s)
 
virtual ~CZ_REQUEST_MOVE ()
 
void handle (ByteBuffer &&buf)
 CZ_REQUEST_MOVE. More...
 
void deserialize (ByteBuffer &buf)
 
- Public Member Functions inherited from Horizon::Base::NetworkPacket< ZoneSession >
 NetworkPacket (uint16_t packet_id, std::shared_ptr< ZoneSession > s)
 
virtual ~NetworkPacket ()
 
void set_packet_id (uint16_t id)
 
uint16_t get_packet_id ()
 
ByteBufferbuf ()
 
std::shared_ptr< ZoneSession > get_session ()
 Retrieves the session from this handler instance. More...
 
virtual void handle (ByteBuffer &&buf)
 
virtual void deserialize (ByteBuffer &buf)
 
void transmit ()
 Send an Asynchronous packet by queueing a buffer of a particular size to the connected session. More...
 
void transmit (std::size_t size)
 Send an Asynchronous packet by queueing a buffer of a particular size to the connected session. More...
 

Public Attributes

uint16_t _x {0}
 
uint16_t _y {0}
 
uint8_t _dir {0}
 

Additional Inherited Members

- Protected Attributes inherited from Horizon::Base::NetworkPacket< ZoneSession >
ByteBuffer _buffer
 Buffer storage facility for the packet stream. More...
 
uint16_t _packet_id
 ID of the network packet. More...
 

Detailed Description

Main object for the aegis packet: CZ_REQUEST_MOVE.

Constructor & Destructor Documentation

◆ CZ_REQUEST_MOVE()

Horizon::Zone::CZ_REQUEST_MOVE::CZ_REQUEST_MOVE ( std::shared_ptr< ZoneSession s)
inline
21775 : NetworkPacket<ZoneSession>(ID_CZ_REQUEST_MOVE, s)
21776 {}
@ ID_CZ_REQUEST_MOVE
Definition: HandledPackets.hpp:21511

◆ ~CZ_REQUEST_MOVE()

virtual Horizon::Zone::CZ_REQUEST_MOVE::~CZ_REQUEST_MOVE ( )
inlinevirtual
21777{}

Member Function Documentation

◆ deserialize()

void CZ_REQUEST_MOVE::deserialize ( ByteBuffer buf)
virtual

Reimplemented from Horizon::Base::NetworkPacket< ZoneSession >.

179{
180 char packed_pos[3];
181 buf >> _packet_id;
182 buf.read(packed_pos, sizeof(packed_pos));
183 UnpackPosition((uint8_t *) packed_pos, &_x, &_y, &_dir);
184}
void UnpackPosition(const uint8_t *p, uint16_t *x, uint16_t *y, uint8_t *dir)
Definition: Utility.cpp:148
T read()
Definition: ByteBuffer.hpp:379
uint16_t _packet_id
ID of the network packet.
Definition: NetworkPacket.hpp:87
ByteBuffer & buf()
Definition: NetworkPacket.hpp:59
uint16_t _y
Definition: HandledPackets.hpp:21783
uint8_t _dir
Definition: HandledPackets.hpp:21784
uint16_t _x
Definition: HandledPackets.hpp:21783

References _dir, Horizon::Base::NetworkPacket< ZoneSession >::_packet_id, _x, _y, Horizon::Base::NetworkPacket< ZoneSession >::buf(), ByteBuffer::read(), and UnpackPosition().

Referenced by handle().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handle()

void CZ_REQUEST_MOVE::handle ( ByteBuffer &&  buf)
virtual

CZ_REQUEST_MOVE.

Reimplemented from Horizon::Base::NetworkPacket< ZoneSession >.

173{
175 get_session()->clif()->walk_to_coordinates(_x, _y, _dir);
176}
std::shared_ptr< ZoneSession > get_session()
Retrieves the session from this handler instance.
Definition: NetworkPacket.hpp:65
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:178

References _dir, _x, _y, Horizon::Base::NetworkPacket< ZoneSession >::buf(), deserialize(), and Horizon::Base::NetworkPacket< ZoneSession >::get_session().

+ Here is the call graph for this function:

Member Data Documentation

◆ _dir

uint8_t Horizon::Zone::CZ_REQUEST_MOVE::_dir {0}

Referenced by deserialize(), and handle().

◆ _x

uint16_t Horizon::Zone::CZ_REQUEST_MOVE::_x {0}

Referenced by deserialize(), and handle().

◆ _y

uint16_t Horizon::Zone::CZ_REQUEST_MOVE::_y {0}

Referenced by deserialize(), and handle().


The documentation for this class was generated from the following files: