changed team structure

This commit is contained in:
2021-08-21 11:46:21 +02:00
parent 7052edfef1
commit 88d2644219
8 changed files with 81 additions and 38 deletions

View File

@@ -41,13 +41,13 @@ bool World::loadMap(const protocol::WorldBeginDataPacket* worldHeader){
m_WalkablePalette = worldHeader->getWalkableTileColor();
m_DecorationPalette = worldHeader->getDecorationPalette();
m_Spawns[(std::size_t) TeamColor::Red] = worldHeader->getRedSpawn();
m_Spawns[(std::size_t) TeamColor::Blue] = worldHeader->getBlueSpawn();
getRedTeam().getSpawn() = worldHeader->getRedSpawn();
getBlueTeam().getSpawn() = worldHeader->getBlueSpawn();
m_SpawnColorPalette = worldHeader->getSpawnPalette();
m_Castles[(std::size_t) TeamColor::Red] = worldHeader->getRedCastle();
m_Castles[(std::size_t) TeamColor::Blue] = worldHeader->getBlueCastle();
getRedTeam().getCastle() = worldHeader->getRedCastle();
getBlueTeam().getCastle() = worldHeader->getBlueCastle();
m_TilePalette = worldHeader->getTilePalette();
}
@@ -382,5 +382,29 @@ const Color& World::getTileColor(TilePtr tile) const{
return m_DecorationPalette[0];
}
Team& World::getRedTeam(){
return m_Game->getRedTeam();
}
const Team& World::getRedTeam() const{
return m_Game->getRedTeam();
}
Team& World::getBlueTeam(){
return m_Game->getBlueTeam();
}
const Team& World::getBlueTeam() const{
return m_Game->getBlueTeam();
}
Team& World::getTeam(TeamColor team){
return m_Game->getTeam(team);
}
const Team& World::getTeam(TeamColor team) const{
return m_Game->getTeam(team);
}
} // namespace game
} // namespace td

View File

@@ -17,9 +17,9 @@ void ServerWorld::spawnMobs(game::MobType type, std::uint8_t level, game::Player
game::Spawn* enemyMobSpawn;
if(senderTeam == game::TeamColor::Red){
enemyMobSpawn = &m_Spawns[(std::size_t) game::TeamColor::Blue];
enemyMobSpawn = &getTeam(game::TeamColor::Blue).getSpawn();
}else{
enemyMobSpawn = &m_Spawns[(std::size_t) game::TeamColor::Red];
enemyMobSpawn = &getTeam(game::TeamColor::Red).getSpawn();
}
std::int32_t spawnCenterX = enemyMobSpawn->x;

View File

@@ -87,8 +87,8 @@ DataBuffer WorldBeginDataPacket::Serialize() const{
memcpy((void*)data.data() + bufferSize, decoTilePalette.data(), decoTilePalette.size() * sizeof(game::Color));
const game::Spawn& redSpawn = m_World->getRedSpawn(), blueSpawn = m_World->getBlueSpawn();
const game::TeamCastle& redCastle = m_World->getRedCastle(), blueCastle = m_World->getBlueCastle();
const game::Spawn& redSpawn = m_World->getRedTeam().getSpawn(), blueSpawn = m_World->getBlueTeam().getSpawn();
const game::TeamCastle& redCastle = m_World->getRedTeam().getCastle(), blueCastle = m_World->getBlueTeam().getCastle();
data << redSpawn << redCastle;
data << blueSpawn << blueCastle;

View File

@@ -3,6 +3,8 @@
#include <iostream>
#include <string.h>
#include "game/BaseGame.h"
namespace td {
namespace render {
@@ -114,7 +116,7 @@ GL::VAO loadWorldModel(const td::game::World* world){
}
for (int spawnColor = 0; spawnColor < 2; spawnColor++){
const game::Spawn& spawn = world->getSpawn(game::TeamColor(spawnColor));
const game::Spawn& spawn = world->getTeam(game::TeamColor(spawnColor)).getSpawn();
float fromX = spawn.x - 2, toX = spawn.x + 3;
float fromY = spawn.y - 2, toY = spawn.y + 3;