try to add triggers to ADeditor
This commit is contained in:
@@ -5,109 +5,130 @@
|
||||
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent) :
|
||||
QMainWindow(parent),
|
||||
ui(new Ui::MainWindow)
|
||||
QMainWindow(parent),
|
||||
ui(new Ui::MainWindow)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
adloader = new Loader(this);
|
||||
adloader->load("data2.xml");
|
||||
ui->setupUi(this);
|
||||
adloader = new Loader(this);
|
||||
adloader->load("data2.xml");
|
||||
|
||||
alModel = new AlienModel(adloader->aliens.values());
|
||||
ui->lvAliens->setModel((QAbstractItemModel * )alModel);
|
||||
connect(ui->lvAliens->selectionModel(),SIGNAL(currentChanged(QModelIndex, QModelIndex)),this,SLOT(lvAliens_select(QModelIndex, QModelIndex)));
|
||||
alModel = new AlienModel(adloader->aliens.values());
|
||||
ui->lvAliens->setModel((QAbstractItemModel * )alModel);
|
||||
connect(ui->lvAliens->selectionModel(),SIGNAL(currentChanged(QModelIndex, QModelIndex)),this,SLOT(lvAliens_select(QModelIndex, QModelIndex)));
|
||||
ui->lvAliens->selectionModel()->setCurrentIndex(ui->lvAliens->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
|
||||
|
||||
splModel = new SplashModel(adloader->splashes.values());
|
||||
ui->lvSplashes->setModel((QAbstractItemModel * )splModel);
|
||||
connect(ui->lvSplashes->selectionModel(),SIGNAL(currentChanged(QModelIndex, QModelIndex)),this,SLOT(lvSplashes_select(QModelIndex, QModelIndex)));
|
||||
splModel = new SplashModel(adloader->splashes.values());
|
||||
ui->lvSplashes->setModel((QAbstractItemModel * )splModel);
|
||||
connect(ui->lvSplashes->selectionModel(),SIGNAL(currentChanged(QModelIndex, QModelIndex)),this,SLOT(lvSplashes_select(QModelIndex, QModelIndex)));
|
||||
ui->lvSplashes->selectionModel()->setCurrentIndex(ui->lvSplashes->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
|
||||
|
||||
twModel = new TowerModel(adloader->towers.values());
|
||||
ui->lvTowers->setModel((QAbstractItemModel * )twModel);
|
||||
connect(ui->lvTowers->selectionModel(),SIGNAL(currentChanged(QModelIndex, QModelIndex)),this,SLOT(lvTowers_select(QModelIndex, QModelIndex)));
|
||||
twModel = new TowerModel(adloader->towers.values());
|
||||
ui->lvTowers->setModel((QAbstractItemModel * )twModel);
|
||||
connect(ui->lvTowers->selectionModel(),SIGNAL(currentChanged(QModelIndex, QModelIndex)),this,SLOT(lvTowers_select(QModelIndex, QModelIndex)));
|
||||
ui->lvTowers->selectionModel()->setCurrentIndex(ui->lvTowers->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
|
||||
ui->cbTwSplash->setModel((QAbstractItemModel * )splModel);
|
||||
ui->cbTwSplash->setModel((QAbstractItemModel * )splModel);
|
||||
|
||||
trigModel = new TriggerModel(adloader->triggers.values());
|
||||
ui->lvTriggers->setModel((QAbstractItemModel * )trigModel);
|
||||
connect(ui->lvTriggers->selectionModel(),SIGNAL(currentChanged(QModelIndex, QModelIndex)),this,SLOT(lvTriggers_select(QModelIndex,QModelIndex)));
|
||||
ui->lvTriggers->selectionModel()->setCurrentIndex(ui->lvTriggers->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
|
||||
}
|
||||
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
{
|
||||
delete ui;
|
||||
delete ui;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::changeEvent(QEvent *e)
|
||||
{
|
||||
QMainWindow::changeEvent(e);
|
||||
switch (e->type()) {
|
||||
case QEvent::LanguageChange:
|
||||
ui->retranslateUi(this);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
QMainWindow::changeEvent(e);
|
||||
switch (e->type()) {
|
||||
case QEvent::LanguageChange:
|
||||
ui->retranslateUi(this);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_cbAlArmor_toggled(bool checked)
|
||||
{
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
ui->sbAlArmor->setEnabled(checked);
|
||||
if (checked) adloader->aliens[id].armor = ui->sbAlArmor->value();
|
||||
else adloader->aliens[id].armor = 0;
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
ui->sbAlArmor->setEnabled(checked);
|
||||
if (checked) adloader->aliens[id].armor = ui->sbAlArmor->value();
|
||||
else adloader->aliens[id].armor = 0;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_cbAlRegeneration_toggled(bool checked)
|
||||
{
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
ui->sbAlregeneration->setEnabled(checked);
|
||||
if (checked) adloader->aliens[id].regeneration = ui->sbAlregeneration->value();
|
||||
else adloader->aliens[id].regeneration = 0;
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
ui->sbAlregeneration->setEnabled(checked);
|
||||
if (checked) adloader->aliens[id].regeneration = ui->sbAlregeneration->value();
|
||||
else adloader->aliens[id].regeneration = 0;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::lvAliens_select(QModelIndex index, QModelIndex)
|
||||
{
|
||||
tbAlien al = adloader->aliens.values().at(index.row());
|
||||
ui->leAlName->setText(al.name);
|
||||
ui->sbAlHealth->setValue(al.health);
|
||||
ui->sbAlArmor->setValue(al.armor);
|
||||
if (al.armor > 0) ui->cbAlArmor->setChecked(true);
|
||||
else ui->cbAlArmor->setChecked(false);
|
||||
ui->sbAlSpeed->setValue(al.speed);
|
||||
ui->sbAlPrise->setValue(al.prise);
|
||||
ui->sbAlregeneration->setValue(al.regeneration);
|
||||
if (al.regeneration > 0) ui->cbAlRegeneration->setChecked(true);
|
||||
else ui->cbAlRegeneration->setChecked(false);
|
||||
ui->sbAlScore->setValue(al.score);
|
||||
ui->cbAlIsFly->setChecked(al.isFlying);
|
||||
tbAlien al = adloader->aliens.values().at(index.row());
|
||||
ui->leAlName->setText(al.name);
|
||||
ui->sbAlHealth->setValue(al.health);
|
||||
ui->sbAlArmor->setValue(al.armor);
|
||||
if (al.armor > 0) ui->cbAlArmor->setChecked(true);
|
||||
else ui->cbAlArmor->setChecked(false);
|
||||
ui->sbAlSpeed->setValue(al.speed);
|
||||
ui->sbAlPrise->setValue(al.prise);
|
||||
ui->sbAlregeneration->setValue(al.regeneration);
|
||||
if (al.regeneration > 0) ui->cbAlRegeneration->setChecked(true);
|
||||
else ui->cbAlRegeneration->setChecked(false);
|
||||
ui->sbAlScore->setValue(al.score);
|
||||
ui->cbAlIsFly->setChecked(al.isFlying);
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::lvTowers_select(QModelIndex index, QModelIndex)
|
||||
{
|
||||
tbTower tw = adloader->towers.values().at(index.row());
|
||||
ui->sbTwBuildTime->setValue(tw.buildTime);
|
||||
ui->sbTwCost->setValue(tw.cost);
|
||||
ui->sbTwExpByDam->setValue(tw.expByDamage);
|
||||
ui->sbTwExpByKill->setValue(tw.expByKill);
|
||||
ui->sbTwExpByShot->setValue(tw.expByShot);
|
||||
ui->leTwName->setText(tw.name);
|
||||
ui->sbTwRadius->setValue(tw.radius);
|
||||
ui->sbTwReload->setValue(tw.reload);
|
||||
ui->cbTwSplash->setCurrentIndex(adloader->splashes.keys().indexOf(tw.splashId));
|
||||
tbTower tw = adloader->towers.values().at(index.row());
|
||||
ui->sbTwBuildTime->setValue(tw.buildTime);
|
||||
ui->sbTwCost->setValue(tw.cost);
|
||||
ui->sbTwExpByDam->setValue(tw.expByDamage);
|
||||
ui->sbTwExpByKill->setValue(tw.expByKill);
|
||||
ui->sbTwExpByShot->setValue(tw.expByShot);
|
||||
ui->leTwName->setText(tw.name);
|
||||
ui->sbTwRadius->setValue(tw.radius);
|
||||
ui->sbTwReload->setValue(tw.reload);
|
||||
ui->cbTwSplash->setCurrentIndex(adloader->splashes.keys().indexOf(tw.splashId));
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::lvSplashes_select(QModelIndex index, QModelIndex)
|
||||
{
|
||||
tbSplash spl = adloader->splashes.values().at(index.row());
|
||||
ui->sbSplLifeTime->setValue(spl.lifetime);
|
||||
ui->sbSplSpeed->setValue(spl.speed);
|
||||
ui->cbSplAutoControl->setChecked(spl.autoControl);
|
||||
ui->leSplName->setText(spl.name);
|
||||
tbSplash spl = adloader->splashes.values().at(index.row());
|
||||
ui->sbSplLifeTime->setValue(spl.lifetime);
|
||||
ui->sbSplSpeed->setValue(spl.speed);
|
||||
ui->cbSplAutoControl->setChecked(spl.autoControl);
|
||||
ui->leSplName->setText(spl.name);
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::lvTriggers_select(QModelIndex index, QModelIndex)
|
||||
{
|
||||
tbTrigger trig = adloader->triggers.values().at(index.row());
|
||||
ui->sbTrigCount->setValue(trig.count);
|
||||
ui->sbTrigDamage->setValue(trig.damage);
|
||||
ui->sbTrigDamRadius->setValue(trig.radius);
|
||||
ui->sbTrigChance->setValue(trig.chance);
|
||||
if (trig.chance == 100)
|
||||
ui->cbTrigChance->setChecked(false);
|
||||
else
|
||||
ui->cbTrigChance->setChecked(true);
|
||||
ui->sbTrigRandomRadius->setValue(trig.randomPosRadius);
|
||||
ui->sbTrigTimer->setValue(trig.timer);
|
||||
ui->leTrigName->setText(trig.name);
|
||||
}
|
||||
|
||||
|
||||
@@ -134,7 +155,9 @@ void MainWindow::closeEvent(QCloseEvent *event)
|
||||
|
||||
void MainWindow::on_pbSave_clicked()
|
||||
{
|
||||
adloader->save("data2.xml");
|
||||
adloader->save("data2.xml");
|
||||
adloader->load("data2.xml");
|
||||
adloader->save("data2.xml");
|
||||
}
|
||||
|
||||
|
||||
@@ -164,79 +187,79 @@ void MainWindow::on_pbReload_clicked()
|
||||
|
||||
void MainWindow::on_sbAlHealth_valueChanged(double value)
|
||||
{
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
adloader->aliens[id].health = value;
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
adloader->aliens[id].health = value;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_sbAlArmor_valueChanged(double value)
|
||||
{
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
adloader->aliens[id].armor = value;
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
adloader->aliens[id].armor = value;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_sbAlregeneration_valueChanged(double value)
|
||||
{
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
adloader->aliens[id].regeneration = value;
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
adloader->aliens[id].regeneration = value;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_sbAlSpeed_valueChanged(double value)
|
||||
{
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
adloader->aliens[id].speed = value;
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
adloader->aliens[id].speed = value;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_sbAlPrise_valueChanged(int val)
|
||||
{
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
adloader->aliens[id].prise = val;
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
adloader->aliens[id].prise = val;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_sbAlScore_valueChanged(int val)
|
||||
{
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
adloader->aliens[id].score = val;
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
adloader->aliens[id].score = val;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_cbAlIsFly_clicked(bool checked)
|
||||
{
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
adloader->aliens[id].isFlying = checked;
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
adloader->aliens[id].isFlying = checked;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_leAlName_editingFinished()
|
||||
{
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
adloader->aliens[id].name = ui->leAlName->text();
|
||||
alModel->refresh(adloader->aliens.values());
|
||||
ui->lvAliens->setModel((QAbstractItemModel * )alModel);
|
||||
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
|
||||
adloader->aliens[id].name = ui->leAlName->text();
|
||||
alModel->refresh(adloader->aliens.values());
|
||||
ui->lvAliens->setModel((QAbstractItemModel * )alModel);
|
||||
ui->lvAliens->repaint();
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_pbAlAdd_clicked()
|
||||
{
|
||||
int i = 1;
|
||||
while (adloader->aliens.contains(i)) i++;
|
||||
tbAlien al;
|
||||
al.id = i;
|
||||
al.name = tr("Alien");
|
||||
int i = 1;
|
||||
while (adloader->aliens.contains(i)) i++;
|
||||
tbAlien al;
|
||||
al.id = i;
|
||||
al.name = tr("Alien");
|
||||
al.health = 1;
|
||||
al.prise = 0;
|
||||
al.score = 1;
|
||||
al.speed = 1;
|
||||
adloader->aliens.insert(al.id,al);
|
||||
int index = adloader->aliens.keys().indexOf(i);
|
||||
alModel->refresh(adloader->aliens.values());
|
||||
ui->lvAliens->setModel((QAbstractItemModel * )alModel);
|
||||
ui->lvAliens->reset();
|
||||
adloader->aliens.insert(al.id,al);
|
||||
int index = adloader->aliens.keys().indexOf(i);
|
||||
alModel->refresh(adloader->aliens.values());
|
||||
ui->lvAliens->setModel((QAbstractItemModel * )alModel);
|
||||
ui->lvAliens->reset();
|
||||
ui->lvAliens->selectionModel()->setCurrentIndex(ui->lvAliens->model()->index(index,0),QItemSelectionModel::ClearAndSelect);
|
||||
}
|
||||
|
||||
@@ -244,105 +267,105 @@ void MainWindow::on_pbAlAdd_clicked()
|
||||
void MainWindow::on_pbAlDel_clicked()
|
||||
{
|
||||
if (adloader->aliens.size() < 2) return;
|
||||
QMessageBox msgBox;
|
||||
int id = adloader->aliens.keys().at(ui->lvAliens->currentIndex().row());
|
||||
msgBox.setText(tr("Delete alien %1 id=%2").arg(adloader->aliens.value(id).name).arg(id));
|
||||
msgBox.setInformativeText(tr("Are you sure?"));
|
||||
msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
|
||||
msgBox.setDefaultButton(QMessageBox::Ok);
|
||||
int ret = msgBox.exec();
|
||||
if (ret == QMessageBox::Ok)
|
||||
{
|
||||
adloader->aliens.remove(id);
|
||||
alModel->refresh(adloader->aliens.values());
|
||||
ui->lvAliens->setModel((QAbstractItemModel * )alModel);
|
||||
ui->lvAliens->reset();
|
||||
QMessageBox msgBox;
|
||||
int id = adloader->aliens.keys().at(ui->lvAliens->currentIndex().row());
|
||||
msgBox.setText(tr("Delete alien %1 id=%2").arg(adloader->aliens.value(id).name).arg(id));
|
||||
msgBox.setInformativeText(tr("Are you sure?"));
|
||||
msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
|
||||
msgBox.setDefaultButton(QMessageBox::Ok);
|
||||
int ret = msgBox.exec();
|
||||
if (ret == QMessageBox::Ok)
|
||||
{
|
||||
adloader->aliens.remove(id);
|
||||
alModel->refresh(adloader->aliens.values());
|
||||
ui->lvAliens->setModel((QAbstractItemModel * )alModel);
|
||||
ui->lvAliens->reset();
|
||||
ui->lvAliens->selectionModel()->setCurrentIndex(ui->lvAliens->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_leTwName_editingFinished()
|
||||
{
|
||||
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
|
||||
adloader->towers[id].name = ui->leTwName->text();
|
||||
twModel->refresh(adloader->towers.values());
|
||||
ui->lvTowers->setModel((QAbstractItemModel * )twModel);
|
||||
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
|
||||
adloader->towers[id].name = ui->leTwName->text();
|
||||
twModel->refresh(adloader->towers.values());
|
||||
ui->lvTowers->setModel((QAbstractItemModel * )twModel);
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_sbTwBuildTime_valueChanged(int val)
|
||||
{
|
||||
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
|
||||
adloader->towers[id].buildTime = val;
|
||||
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
|
||||
adloader->towers[id].buildTime = val;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_sbTwCost_valueChanged(int val)
|
||||
{
|
||||
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
|
||||
adloader->towers[id].cost = val;
|
||||
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
|
||||
adloader->towers[id].cost = val;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_cbTwSplash_currentIndexChanged(int index)
|
||||
{
|
||||
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
|
||||
adloader->towers[id].splashId = adloader->splashes.values().at(index).id;
|
||||
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
|
||||
adloader->towers[id].splashId = adloader->splashes.values().at(index).id;
|
||||
}
|
||||
|
||||
void MainWindow::on_sbTwReload_valueChanged(int val)
|
||||
{
|
||||
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
|
||||
adloader->towers[id].reload = val;
|
||||
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
|
||||
adloader->towers[id].reload = val;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_sbTwRadius_valueChanged(double val)
|
||||
{
|
||||
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
|
||||
adloader->towers[id].radius = val;
|
||||
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
|
||||
adloader->towers[id].radius = val;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_sbTwExpByShot_valueChanged(double val)
|
||||
{
|
||||
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
|
||||
adloader->towers[id].expByShot = val;
|
||||
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
|
||||
adloader->towers[id].expByShot = val;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_sbTwExpByDam_valueChanged(double val)
|
||||
{
|
||||
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
|
||||
adloader->towers[id].expByDamage = val;
|
||||
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
|
||||
adloader->towers[id].expByDamage = val;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_sbTwExpByKill_valueChanged(double val)
|
||||
{
|
||||
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
|
||||
adloader->towers[id].expByKill = val;
|
||||
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
|
||||
adloader->towers[id].expByKill = val;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_pbTwAdd_clicked()
|
||||
{
|
||||
int i = 1;
|
||||
while (adloader->towers.contains(i)) i++;
|
||||
tbTower tw;
|
||||
tw.id = i;
|
||||
tw.name = tr("Tower");
|
||||
int i = 1;
|
||||
while (adloader->towers.contains(i)) i++;
|
||||
tbTower tw;
|
||||
tw.id = i;
|
||||
tw.name = tr("Tower");
|
||||
tw.splashId = adloader->splashes.keys().at(0);
|
||||
tw.buildTime = 1;
|
||||
tw.cost = 1;
|
||||
tw.radius = 1;
|
||||
tw.reload = 1;
|
||||
adloader->towers.insert(tw.id,tw);
|
||||
int index = adloader->towers.keys().indexOf(i);
|
||||
twModel->refresh(adloader->towers.values());
|
||||
ui->lvTowers->setModel((QAbstractItemModel * )twModel);
|
||||
ui->lvTowers->reset();
|
||||
adloader->towers.insert(tw.id,tw);
|
||||
int index = adloader->towers.keys().indexOf(i);
|
||||
twModel->refresh(adloader->towers.values());
|
||||
ui->lvTowers->setModel((QAbstractItemModel * )twModel);
|
||||
ui->lvTowers->reset();
|
||||
ui->lvTowers->selectionModel()->setCurrentIndex(ui->lvTowers->model()->index(index,0),QItemSelectionModel::ClearAndSelect);
|
||||
}
|
||||
|
||||
@@ -351,77 +374,77 @@ void MainWindow::on_pbTwDel_clicked()
|
||||
{
|
||||
if (adloader->towers.size() < 2) return;
|
||||
QMessageBox msgBox;
|
||||
int id = adloader->towers.keys().at(ui->lvTowers->currentIndex().row());
|
||||
msgBox.setText(tr("Delete tower %1 id=%2").arg(adloader->towers.value(id).name).arg(id));
|
||||
msgBox.setInformativeText(tr("Are you sure?"));
|
||||
msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
|
||||
msgBox.setDefaultButton(QMessageBox::Ok);
|
||||
int ret = msgBox.exec();
|
||||
if (ret == QMessageBox::Ok)
|
||||
{
|
||||
adloader->towers.remove(id);
|
||||
twModel->refresh(adloader->towers.values());
|
||||
ui->lvTowers->setModel((QAbstractItemModel * )twModel);
|
||||
ui->lvTowers->reset();
|
||||
int id = adloader->towers.keys().at(ui->lvTowers->currentIndex().row());
|
||||
msgBox.setText(tr("Delete tower %1 id=%2").arg(adloader->towers.value(id).name).arg(id));
|
||||
msgBox.setInformativeText(tr("Are you sure?"));
|
||||
msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
|
||||
msgBox.setDefaultButton(QMessageBox::Ok);
|
||||
int ret = msgBox.exec();
|
||||
if (ret == QMessageBox::Ok)
|
||||
{
|
||||
adloader->towers.remove(id);
|
||||
twModel->refresh(adloader->towers.values());
|
||||
ui->lvTowers->setModel((QAbstractItemModel * )twModel);
|
||||
ui->lvTowers->reset();
|
||||
ui->lvTowers->selectionModel()->setCurrentIndex(ui->lvTowers->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::on_leSplName_editingFinished()
|
||||
{
|
||||
int id = adloader->splashes.values().at(ui->lvSplashes->currentIndex().row()).id;
|
||||
adloader->splashes[id].name = ui->leSplName->text();
|
||||
splModel->refresh(adloader->splashes.values());
|
||||
ui->lvSplashes->setModel((QAbstractItemModel * )splModel);
|
||||
ui->cbTwSplash->setModel((QAbstractItemModel * )splModel);
|
||||
int id = adloader->splashes.values().at(ui->lvSplashes->currentIndex().row()).id;
|
||||
adloader->splashes[id].name = ui->leSplName->text();
|
||||
splModel->refresh(adloader->splashes.values());
|
||||
ui->lvSplashes->setModel((QAbstractItemModel * )splModel);
|
||||
ui->cbTwSplash->setModel((QAbstractItemModel * )splModel);
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_sbSplSpeed_valueChanged(double val)
|
||||
{
|
||||
int id = adloader->splashes.values().at(ui->lvSplashes->currentIndex().row()).id;
|
||||
adloader->splashes[id].speed = val;
|
||||
int id = adloader->splashes.values().at(ui->lvSplashes->currentIndex().row()).id;
|
||||
adloader->splashes[id].speed = val;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_cbSplAutoControl_toggled(bool checked)
|
||||
{
|
||||
int id = adloader->splashes.values().at(ui->lvSplashes->currentIndex().row()).id;
|
||||
adloader->splashes[id].autoControl = checked;
|
||||
int id = adloader->splashes.values().at(ui->lvSplashes->currentIndex().row()).id;
|
||||
adloader->splashes[id].autoControl = checked;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_sbSplLifeTime_valueChanged(int val)
|
||||
{
|
||||
int id = adloader->splashes.values().at(ui->lvSplashes->currentIndex().row()).id;
|
||||
adloader->splashes[id].lifetime = val;
|
||||
int id = adloader->splashes.values().at(ui->lvSplashes->currentIndex().row()).id;
|
||||
adloader->splashes[id].lifetime = val;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_pbSplAdd_clicked()
|
||||
{
|
||||
int i = 1;
|
||||
while (adloader->splashes.contains(i)) i++;
|
||||
tbSplash spl;
|
||||
spl.id = i;
|
||||
spl.name = tr("Splash");
|
||||
int i = 1;
|
||||
while (adloader->splashes.contains(i)) i++;
|
||||
tbSplash spl;
|
||||
spl.id = i;
|
||||
spl.name = tr("Splash");
|
||||
spl.lifetime = 1;
|
||||
spl.speed = 1;
|
||||
adloader->splashes.insert(spl.id,spl);
|
||||
int index = adloader->splashes.keys().indexOf(i);
|
||||
splModel->refresh(adloader->splashes.values());
|
||||
ui->lvSplashes->setModel((QAbstractItemModel * )splModel);
|
||||
ui->lvSplashes->reset();
|
||||
adloader->splashes.insert(spl.id,spl);
|
||||
int index = adloader->splashes.keys().indexOf(i);
|
||||
splModel->refresh(adloader->splashes.values());
|
||||
ui->lvSplashes->setModel((QAbstractItemModel * )splModel);
|
||||
ui->lvSplashes->reset();
|
||||
ui->lvSplashes->selectionModel()->setCurrentIndex(ui->lvSplashes->model()->index(index,0),QItemSelectionModel::ClearAndSelect);
|
||||
ui->cbTwSplash->setModel((QAbstractItemModel * )splModel);
|
||||
ui->cbTwSplash->setModel((QAbstractItemModel * )splModel);
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_pbSlpDel_clicked()
|
||||
{
|
||||
if (adloader->splashes.size() < 2) return;
|
||||
QMessageBox msgBox;
|
||||
int id = adloader->splashes.keys().at(ui->lvSplashes->currentIndex().row());
|
||||
QMessageBox msgBox;
|
||||
int id = adloader->splashes.keys().at(ui->lvSplashes->currentIndex().row());
|
||||
for (int i=0; i<adloader->towers.size(); i++)
|
||||
{
|
||||
if (adloader->towers.values().at(i).splashId == id)
|
||||
@@ -433,20 +456,20 @@ void MainWindow::on_pbSlpDel_clicked()
|
||||
return;
|
||||
}
|
||||
}
|
||||
msgBox.setText(tr("Delete splash %1 id=%2").arg(adloader->splashes.value(id).name).arg(id));
|
||||
msgBox.setInformativeText(tr("Are you sure?"));
|
||||
msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
|
||||
msgBox.setDefaultButton(QMessageBox::Ok);
|
||||
int ret = msgBox.exec();
|
||||
if (ret == QMessageBox::Ok)
|
||||
{
|
||||
adloader->splashes.remove(id);
|
||||
splModel->refresh(adloader->splashes.values());
|
||||
ui->lvSplashes->setModel((QAbstractItemModel * )splModel);
|
||||
ui->lvSplashes->reset();
|
||||
msgBox.setText(tr("Delete splash %1 id=%2").arg(adloader->splashes.value(id).name).arg(id));
|
||||
msgBox.setInformativeText(tr("Are you sure?"));
|
||||
msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
|
||||
msgBox.setDefaultButton(QMessageBox::Ok);
|
||||
int ret = msgBox.exec();
|
||||
if (ret == QMessageBox::Ok)
|
||||
{
|
||||
adloader->splashes.remove(id);
|
||||
splModel->refresh(adloader->splashes.values());
|
||||
ui->lvSplashes->setModel((QAbstractItemModel * )splModel);
|
||||
ui->lvSplashes->reset();
|
||||
ui->lvSplashes->selectionModel()->setCurrentIndex(ui->lvSplashes->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
|
||||
ui->cbTwSplash->setModel((QAbstractItemModel * )splModel);
|
||||
}
|
||||
ui->cbTwSplash->setModel((QAbstractItemModel * )splModel);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -456,3 +479,12 @@ void MainWindow::on_pushButton_clicked()
|
||||
ui->lvSplashes->selectionModel()->setCurrentIndex(ui->lvSplashes->model()->index(splIndex,0),QItemSelectionModel::ClearAndSelect);
|
||||
ui->tabWidget->setCurrentWidget(ui->tabSplashes);
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_cbTrigChance_clicked(bool checked)
|
||||
{
|
||||
int id = adloader->triggers.values().at(ui->lvTriggers->currentIndex().row()).id;
|
||||
ui->sbTrigChance->setEnabled(checked);
|
||||
if (checked) adloader->triggers[id].chance = ui->sbTrigChance->value();
|
||||
else adloader->triggers[id].chance = 100;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user