#include "towers.h" Towers::Towers(Game_Data *gd, QObject *parent) : QObject(parent) { gameData = gd; nextId = 0; Tower tw; for (int i=0; iplayers.size(); i++) gameData->players[i]->srcTowers.push_back(tw); } bool Towers::AddTower(int playerId, int srcId, QPoint pos) { if (playerId < 0 || playerId >= gameData->players.size()) qDebug("ERROR out of players range"),exit(-1); if (srcId < 0 || srcId >= gameData->players.at(playerId)->srcTowers.size()) qDebug("ERROR out of towers range"),exit(-1); Tower tw = gameData->players.at(playerId)->srcTowers.at(srcId); tw.Id = nextId; if (gameData->map->addTowerOnMap(playerId,pos)) { tw.pos = pos; gameData->map->printMap(); nextId++; gameData->curTowers.push_back(tw); return true; } return false; } void Towers::DelTower(int index) { gameData->curTowers.remove(index); } void Towers::DelTowerById(int Id) { DelTower(TowerIndex(Id)); } int Towers::TowerIndex(int towerId) { int i=-1; for (i=0; icurTowers.size(); i++) if (gameData->curTowers.at(i).Id==towerId) return i; return i; } void Towers::update() { }