#pragma once #include "protocol/Protocol.h" namespace td { 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(PlayerLoginPacket* packet) {} virtual void HandlePacket(WorldBeginDataPacket* packet) {} virtual void HandlePacket(WorldDataPacket* packet) {} virtual void HandlePacket(KeepAlivePacket* packet) {} virtual void HandlePacket(UpdateMoneyPacket* packet) {} virtual void HandlePacket(UpdateExpPacket* packet) {} virtual void HandlePacket(UpdateLobbyTimePacket* packet) {} virtual void HandlePacket(UpdateGameStatePacket* packet) {} virtual void HandlePacket(PlayerListPacket* packet) {} virtual void HandlePacket(PlayerJoinPacket* packet) {} virtual void HandlePacket(PlayerLeavePacket* packet) {} virtual void HandlePacket(ConnexionInfoPacket* packet) {} virtual void HandlePacket(SelectTeamPacket* packet) {} virtual void HandlePacket(UpdatePlayerTeamPacket* packet) {} virtual void HandlePacket(DisconnectPacket* packet) {} virtual void HandlePacket(ServerTpsPacket* packet) {} virtual void HandlePacket(SpawnMobPacket* packet) {} virtual void HandlePacket(PlaceTowerPacket* packet) {} virtual void HandlePacket(WorldAddTowerPacket* packet) {} }; } // namespace protocol } // namespace td