#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(const PlayerLoginPacket* packet) {} virtual void HandlePacket(const WorldBeginDataPacket* packet) {} virtual void HandlePacket(const WorldDataPacket* packet) {} virtual void HandlePacket(const KeepAlivePacket* packet) {} virtual void HandlePacket(const UpdateMoneyPacket* packet) {} virtual void HandlePacket(const UpdateExpPacket* packet) {} virtual void HandlePacket(const UpdateLobbyTimePacket* packet) {} virtual void HandlePacket(const UpdateGameStatePacket* packet) {} virtual void HandlePacket(const PlayerListPacket* packet) {} virtual void HandlePacket(const PlayerJoinPacket* packet) {} virtual void HandlePacket(const PlayerLeavePacket* packet) {} virtual void HandlePacket(const ConnexionInfoPacket* packet) {} virtual void HandlePacket(const SelectTeamPacket* packet) {} virtual void HandlePacket(const UpdatePlayerTeamPacket* packet) {} virtual void HandlePacket(const DisconnectPacket* packet) {} virtual void HandlePacket(const ServerTpsPacket* packet) {} virtual void HandlePacket(const SpawnMobPacket* packet) {} virtual void HandlePacket(const PlaceTowerPacket* packet) {} virtual void HandlePacket(const WorldAddTowerPacket* packet) {} virtual void HandlePacket(const WorldRemoveTowerPacket* packet) {} virtual void HandlePacket(const SendMobsPacket* packet) {} virtual void HandlePacket(const UpgradeTowerPacket* packet) {} }; } // namespace protocol } // namespace td