#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);
    virtual void HandlePacket(const protocol::WorldDataPacket* packet);
    virtual void HandlePacket(const protocol::SpawnMobPacket* packet);
    virtual void HandlePacket(const protocol::UpgradeTowerPacket* packet);
    virtual void HandlePacket(const protocol::WorldAddTowerPacket* packet);

};

} // namespace client   
} // namespace td
