#pragma once #include "blitz/protocol/PacketsForward.h" #include "blitz/protocol/Protocol.h" namespace blitz { namespace protocol { class PacketDispatcher; class PacketHandler { private: PacketDispatcher* m_Dispatcher; public: PacketHandler(PacketDispatcher* dispatcher) : m_Dispatcher(dispatcher) {} virtual ~PacketHandler() {} PacketDispatcher* GetDispatcher() { return m_Dispatcher; } virtual void HandlePacket(const ChatPacket* packet) {} virtual void HandlePacket(const ConnexionInfoPacket* packet) {} virtual void HandlePacket(const DisconnectPacket* packet) {} virtual void HandlePacket(const KeepAlivePacket* packet) {} virtual void HandlePacket(const PlayerJoinPacket* packet) {} virtual void HandlePacket(const PlayerLeavePacket* packet) {} virtual void HandlePacket(const PlayerListPacket* packet) {} virtual void HandlePacket(const PlayerLoginPacket* packet) {} virtual void HandlePacket(const PlayerPositionAndRotationPacket* packet) {} virtual void HandlePacket(const PlayerShootPacket* packet) {} virtual void HandlePacket(const PlayerStatsPacket* packet) {} virtual void HandlePacket(const ServerTpsPacket* packet) {} virtual void HandlePacket(const UpdateHealthPacket* packet) {} }; } // namespace protocol } // namespace blitz