fix bug in del tower and some ui changes
This commit is contained in:
27
towers.cpp
27
towers.cpp
@@ -56,20 +56,24 @@ bool Towers::addTower(int playerId, int srcId, QPoint pos)
|
||||
|
||||
void Towers::delTower(QPoint pos)
|
||||
{
|
||||
QPoint p;
|
||||
if (gameData->curTowers.contains(pos)) p = pos;
|
||||
if (gameData->curTowers.contains(pos+QPoint(1,0))) p = pos+QPoint(1,0);
|
||||
if (gameData->curTowers.contains(pos+QPoint(1,1))) p = pos+QPoint(1,1);
|
||||
if (gameData->curTowers.contains(pos+QPoint(0,1))) p = pos+QPoint(0,1);
|
||||
if (gameData->curTowers.contains(p))
|
||||
// qDebug("del tower start");
|
||||
// QPoint p;
|
||||
// if (gameData->curTowers.contains(pos)) p = pos;
|
||||
// if (gameData->curTowers.contains(pos+QPoint(1,0))) p = pos+QPoint(1,0);
|
||||
// if (gameData->curTowers.contains(pos+QPoint(1,1))) p = pos+QPoint(1,1);
|
||||
// if (gameData->curTowers.contains(pos+QPoint(0,1))) p = pos+QPoint(0,1);
|
||||
if (gameData->curTowers.contains(pos))
|
||||
{
|
||||
tower_killed(pos);
|
||||
TowerType * t = &(gameData->curTowers[p]);
|
||||
gameData->map->delTowerOnMap(t->PlayerId,p);
|
||||
// qDebug()<< "del tower contain" << pos;
|
||||
// emit tower_killed(pos);
|
||||
TowerType * t = &(gameData->curTowers[pos]);
|
||||
gameData->map->delTowerOnMap(t->PlayerId,pos);
|
||||
gameData->players[t->PlayerId]->money += t->src->cost/2;
|
||||
scene->removeItem(t->item);
|
||||
delete t->item;
|
||||
gameData->curTowers.remove(p);
|
||||
gameData->curTowers.remove(pos);
|
||||
}
|
||||
// qDebug("del tower end");
|
||||
}
|
||||
|
||||
|
||||
@@ -137,8 +141,9 @@ void Towers::update()
|
||||
bool Towers::morphTower(QPoint id, int index)
|
||||
{
|
||||
if (!canMorph(id, index)) return false;
|
||||
tower_killed(id);
|
||||
// tower_killed(id);
|
||||
TowerType & t(gameData->curTowers[id]);
|
||||
gameData->players[t.PlayerId]->money -= t.src->morphs[index].cost;
|
||||
t.src = t.src->morphs[index].morph;
|
||||
t.build = 0;
|
||||
t.reload = 0;
|
||||
|
||||
Reference in New Issue
Block a user