refactor: move tower place detection to World.cpp

This commit is contained in:
2021-09-19 18:20:26 +02:00
parent 3bc58b12a6
commit 3771ea4a27
5 changed files with 54 additions and 51 deletions

View File

@@ -4,6 +4,8 @@
#include <vector>
#include <map>
#include <unordered_map>
#include <glm/glm.hpp>
#include "Mobs.h"
#include "Team.h"
@@ -140,7 +142,7 @@ public:
void spawnMobAt(MobID id, MobType type, std::uint8_t level, PlayerID sender, float x, float y, Direction dir);
TilePtr getTile(std::int32_t x, std::int32_t y);
TilePtr getTile(std::int32_t x, std::int32_t y) const;
const TowerTileColorPalette& getTowerTileColorPalette() const { return m_TowerPlacePalette; }
const Color& getWalkableTileColor() const { return m_WalkablePalette; }
@@ -154,6 +156,9 @@ public:
return m_TilePalette.at(index - 1);
}
bool CanPlaceLittleTower(const glm::vec2& worldPos) const;
bool CanPlaceBigTower(const glm::vec2& worldPos) const;
const std::unordered_map<ChunkCoord, ChunkPtr>& getChunks() const { return m_Chunks; }
const Color& getSpawnColor(TeamColor color) const { return m_SpawnColorPalette[(std::size_t)color]; }

View File

@@ -33,14 +33,12 @@ public:
std::uint32_t getLobbyTime() const { return m_LobbyTime; }
const game::Player* getPlayer() const { return m_Player; }
const WorldClient& getWorld() const { return m_WorldClient; }
render::Renderer* getRenderer() const { return m_Renderer; }
void PlaceTower(game::TowerType type, const glm::vec2& position);
bool CanPlaceLittleTower(const glm::vec2& worldPos);
bool CanPlaceBigTower(const glm::vec2& worldPos);
virtual void HandlePacket(protocol::ConnexionInfoPacket* packet);
virtual void HandlePacket(protocol::PlayerJoinPacket* packet);
virtual void HandlePacket(protocol::PlayerLeavePacket* packet);