Files
aliendefender/towers.cpp
buull da42fe8f58 add loader
add schema
new loader model using xml
separated work and load data
validation using schema
map data in xml
new core model... proecting
2010-08-19 20:52:32 +03:00

48 lines
918 B
C++

#include "towers.h"
Towers::Towers(Game_Data *gd, QObject *parent) :
QObject(parent)
{
gameData = gd;
Tower tw;
for (int i=0; i<gameData->players.size(); i++)
gameData->players[i]->srcTowers.push_back(tw);
}
bool Towers::AddTower(int playerId, int srcId, QPoint pos)
{
//QByteArray ar;
//ar << pos;
if (playerId < 0 || playerId >= gameData->players.size())
{
qCritical("ERROR out of players range");
return false;
}
if (srcId < 0 || srcId >= gameData->players.at(playerId)->srcTowers.size())
{
qCritical("ERROR out of towers range");
return false;
}
Tower tw = gameData->players.at(playerId)->srcTowers.at(srcId);
if (gameData->map->addTowerOnMap(playerId,pos))
{
tw.pos = pos;
gameData->map->printMap();
gameData->curTowers.insert(tw.pos,tw);
return true;
}
return false;
}
void Towers::DelTower(QPoint pos)
{
gameData->curTowers.remove(pos);
}
void Towers::update()
{
}