remove glm dependency

This commit is contained in:
Simon Pribylski
2022-10-13 12:24:15 +02:00
parent bba9ef8219
commit 6e0923ac75
20 changed files with 110 additions and 71 deletions

View File

@@ -160,7 +160,7 @@ const Color* World::GetTileColor(TilePtr tile) const {
return nullptr;
}
bool World::CanPlaceLittleTower(const glm::vec2& worldPos, PlayerID playerID) const {
bool World::CanPlaceLittleTower(const Vec2f& worldPos, PlayerID playerID) const {
TilePtr tile = GetTile(worldPos.x, worldPos.y);
const Player& player = m_Game->GetPlayers()[playerID];
@@ -186,7 +186,7 @@ bool World::CanPlaceLittleTower(const glm::vec2& worldPos, PlayerID playerID) co
return false;
}
bool World::CanPlaceBigTower(const glm::vec2& worldPos, PlayerID playerID) const {
bool World::CanPlaceBigTower(const Vec2f& worldPos, PlayerID playerID) const {
if (!CanPlaceLittleTower(worldPos, playerID)) return false;
TilePtr tile = GetTile(worldPos.x, worldPos.y);
@@ -224,7 +224,7 @@ void World::CleanDeadMobs() {
}
}
TowerPtr World::GetTower(const glm::vec2& position) const {
TowerPtr World::GetTower(const Vec2f& position) const {
for (TowerPtr tower : m_Towers) {
if (tower->GetSize() == TowerSize::Big) {
if (tower->GetCenterX() - 2.5f < position.x && tower->GetCenterX() + 2.5f > position.x &&

View File

@@ -59,7 +59,7 @@ void Client::SendMobs(const std::vector<protocol::MobSend>& mobSends) {
m_Connexion.SendPacket(&packet);
}
void Client::PlaceTower(game::TowerType type, const glm::vec2& position) {
void Client::PlaceTower(game::TowerType type, const Vec2f& position) {
protocol::PlaceTowerPacket packet(position.x, position.y, type);
m_Connexion.SendPacket(&packet);
}

View File

@@ -151,11 +151,13 @@ void ServerConnexion::HandlePacket(const protocol::PlaceTowerPacket* packet) {
const game::TowerInfo& towerInfo = game::GetTowerInfo(towerType);
server::ServerWorld* world = m_Server->GetGame().GetServerWorld();
if (!world->CanPlaceLittleTower({ packet->GetTowerX(), packet->GetTowerY() }, m_ID))
Vec2f towerPos = { static_cast<float>(packet->GetTowerX()), static_cast<float>(packet->GetTowerY()) };
if (!world->CanPlaceLittleTower(towerPos, m_ID))
return;
if (towerInfo.IsBigTower())
if (!world->CanPlaceBigTower({ packet->GetTowerX(), packet->GetTowerY() }, m_ID))
if (!world->CanPlaceBigTower(towerPos, m_ID))
return;
game::TowerPtr tower = world->PlaceTowerAt(towerType, packet->GetTowerX(), packet->GetTowerY(), m_ID);