#pragma once #include "game/World.h" #include "protocol/PacketHandler.h" namespace td { namespace client { class ClientGame; class WorldClient : public game::World, public protocol::PacketHandler { private: ClientGame* m_Game; public: WorldClient(ClientGame* game); virtual void HandlePacket(const protocol::WorldBeginDataPacket* packet) override; virtual void HandlePacket(const protocol::WorldDataPacket* packet) override; virtual void HandlePacket(const protocol::SpawnMobPacket* packet) override; virtual void HandlePacket(const protocol::UpgradeTowerPacket* packet) override; virtual void OnArrowShot(game::MobPtr target, game::Tower* shooter) override; }; } // namespace client } // namespace td