change WorldRenderer to class

This commit is contained in:
2021-08-21 13:49:23 +02:00
parent 1bb487d7b0
commit 1b5fd2f66f
12 changed files with 97 additions and 71 deletions

View File

@@ -10,7 +10,8 @@ namespace game {
enum class GameState : std::uint8_t{
Lobby,
Game,
EndGame
EndGame,
Disconnected,
};
typedef std::map<std::uint8_t, Player> PlayerList;

View File

@@ -22,6 +22,8 @@ public:
void tick(std::uint64_t delta);
void render();
void connect(const std::string& address, std::uint16_t port);
void closeConnection();

View File

@@ -3,6 +3,7 @@
#include "game/BaseGame.h"
#include "protocol/PacketHandler.h"
#include "WorldClient.h"
#include "render/WorldRenderer.h"
namespace td {
namespace client {
@@ -13,12 +14,15 @@ private:
std::uint32_t m_LobbyTime = 0;
game::Player* m_Player = nullptr;
client::WorldClient m_WorldClient{this};
render::WorldRenderer m_WorldRenderer{&m_WorldClient};
public:
ClientGame(protocol::PacketDispatcher* dispatcher);
virtual ~ClientGame();
virtual void tick(std::uint64_t delta);
void renderWorld();
std::uint32_t getLobbyTime() const{return m_LobbyTime;}
const game::Player* getPlayer() const{return m_Player;}
@@ -30,6 +34,8 @@ public:
virtual void HandlePacket(protocol::UpdateGameStatePacket* packet);
virtual void HandlePacket(protocol::UpdateLobbyTimePacket* packet);
virtual void HandlePacket(protocol::UpdateMoneyPacket* packet);
virtual void HandlePacket(protocol::DisconnectPacket* packet);
virtual void HandlePacket(protocol::WorldDataPacket* packet);
};
} // namespace client