diff --git a/ADeditor/ADeditor.pro b/ADeditor/ADeditor.pro
index 5f9c048..60e532a 100644
--- a/ADeditor/ADeditor.pro
+++ b/ADeditor/ADeditor.pro
@@ -8,8 +8,12 @@ TEMPLATE = app
SOURCES += main.cpp \
mainwindow.cpp \
../loader.cpp \
- alienmodel.cpp
+ alienmodel.cpp \
+ towermodel.cpp \
+ splashmodel.cpp
HEADERS += mainwindow.h \
../loader.h \
- alienmodel.h
+ alienmodel.h \
+ towermodel.h \
+ splashmodel.h
FORMS += mainwindow.ui
diff --git a/ADeditor/ADeditor.pro.user b/ADeditor/ADeditor.pro.user
index 833beb4..423e8b5 100644
--- a/ADeditor/ADeditor.pro.user
+++ b/ADeditor/ADeditor.pro.user
@@ -1,283 +1,111 @@
- RunConfiguration0-BaseEnvironmentBase
- 2
-
-
- RunConfiguration0-CommandLineArguments
-
-
-
- RunConfiguration0-ProFile
- ADeditor.pro
-
-
- RunConfiguration0-RunConfiguration.name
- ADeditor
-
-
- RunConfiguration0-UseDyldImageSuffix
- false
-
-
- RunConfiguration0-UseTerminal
- false
-
-
- RunConfiguration0-UserEnvironmentChanges
-
-
-
- RunConfiguration0-UserSetName
- false
-
-
- RunConfiguration0-UserSetWorkingDirectory
- false
-
-
- RunConfiguration0-UserWorkingDirectory
-
-
-
- RunConfiguration0-type
- Qt4ProjectManager.Qt4RunConfiguration
-
-
- activeRunConfiguration
+ ProjectExplorer.Project.ActiveTarget
0
- activebuildconfiguration
- Debug
-
-
- buildConfiguration-Debug
+ ProjectExplorer.Project.EditorSettings
- Debug
- 0
- 0
-
- 2
+ UTF-8
- buildConfiguration-Release
+ ProjectExplorer.Project.Target.0
- Release
- 0
-
- 0
+ Настольный компьютер
+ Qt4ProjectManager.Target.DesktopTarget
+ 0
+ 0
+
+
+
+ QtProjectManager.QMakeBuildStep
+
+
+
+
+ Qt4ProjectManager.MakeStep
+ false
+
+
+
+ 2
+
+
+ Qt4ProjectManager.MakeStep
+ true
+
+ clean
+
+
+
+ 1
+ false
+
+ Debug
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 2
+ C:/Users/Andrey/Desktop/aliendefender/build
+ 5
+ 2
+ true
+
+
+
+
+ QtProjectManager.QMakeBuildStep
+
+
+
+
+ Qt4ProjectManager.MakeStep
+ false
+
+
+
+ 2
+
+
+ Qt4ProjectManager.MakeStep
+ true
+
+
+
+ 1
+ false
+
+ Release
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ C:/Users/Andrey/Desktop/aliendefender/ADeditor-build-desktop
+ 5
+ 2
+ true
+
+ 2
+
+ ADeditor
+ Qt4ProjectManager.Qt4RunConfiguration
+ 2
+
+ ADeditor.pro
+ false
+ false
+
+ false
+ true
+ C:\Users\Andrey\Desktop\ADeditor-build
+
+ 1
- buildconfiguration-Debug-buildstep0
-
- Debug
-
- DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5i8Go7nPio,guid=870ffe971971ceac89206f0e4c5facbd
- DEFAULTS_PATH=/usr/share/gconf/gnome.default.path
- DESKTOP_SESSION=gnome
- DISPLAY=:0.0
- GDMSESSION=gnome
- GDM_KEYBOARD_LAYOUT=us
- GDM_LANG=ru_RU.UTF-8
- GNOME_DESKTOP_SESSION_ID=this-is-deprecated
- GNOME_KEYRING_CONTROL=/tmp/keyring-7vXnOW
- GTK_MODULES=canberra-gtk-module
- HOME=/home/andrey
- LANG=ru_RU.UTF-8
- LD_LIBRARY_PATH=/usr/lib/qtcreator:
- LOGNAME=andrey
- MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path
- ORBIT_SOCKETDIR=/tmp/orbit-andrey
- PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
- PWD=/home/andrey
- QTDIR=/usr/share/qt4
- SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1124,unix/buull-eeePC:/tmp/.ICE-unix/1124
- SHELL=/bin/bash
- SPEECHD_PORT=6561
- SSH_AGENT_PID=1158
- SSH_AUTH_SOCK=/tmp/keyring-7vXnOW/ssh
- USER=andrey
- USERNAME=andrey
- XAUTHORITY=/var/run/gdm/auth-for-andrey-HWCXAG/database
- XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg
- XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/
- XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1281338556.676663-803309736
-
-
- /home/andrey/AD/aliendefender/ADeditor/ADeditor.pro
- -spec
- linux-g++
- -r
- CONFIG+=debug
-
- /usr/bin/qmake-qt4
- false
- /home/andrey/AD/aliendefender/ADeditor
-
+ ProjectExplorer.Project.TargetCount
+ 1
- buildconfiguration-Debug-buildstep1
-
- Debug
-
- DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5i8Go7nPio,guid=870ffe971971ceac89206f0e4c5facbd
- DEFAULTS_PATH=/usr/share/gconf/gnome.default.path
- DESKTOP_SESSION=gnome
- DISPLAY=:0.0
- GDMSESSION=gnome
- GDM_KEYBOARD_LAYOUT=us
- GDM_LANG=ru_RU.UTF-8
- GNOME_DESKTOP_SESSION_ID=this-is-deprecated
- GNOME_KEYRING_CONTROL=/tmp/keyring-7vXnOW
- GTK_MODULES=canberra-gtk-module
- HOME=/home/andrey
- LANG=ru_RU.UTF-8
- LD_LIBRARY_PATH=/usr/lib/qtcreator:
- LOGNAME=andrey
- MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path
- ORBIT_SOCKETDIR=/tmp/orbit-andrey
- PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
- PWD=/home/andrey
- QTDIR=/usr/share/qt4
- SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1124,unix/buull-eeePC:/tmp/.ICE-unix/1124
- SHELL=/bin/bash
- SPEECHD_PORT=6561
- SSH_AGENT_PID=1158
- SSH_AUTH_SOCK=/tmp/keyring-7vXnOW/ssh
- USER=andrey
- USERNAME=andrey
- XAUTHORITY=/var/run/gdm/auth-for-andrey-HWCXAG/database
- XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg
- XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/
- XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1281338556.676663-803309736
-
- false
-
- -w
-
- /usr/bin/make
- true
- /home/andrey/AD/aliendefender/ADeditor
-
-
-
- buildconfiguration-Debug-cleanstep0
-
- Debug
-
- DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5i8Go7nPio,guid=870ffe971971ceac89206f0e4c5facbd
- DEFAULTS_PATH=/usr/share/gconf/gnome.default.path
- DESKTOP_SESSION=gnome
- DISPLAY=:0.0
- GDMSESSION=gnome
- GDM_KEYBOARD_LAYOUT=us
- GDM_LANG=ru_RU.UTF-8
- GNOME_DESKTOP_SESSION_ID=this-is-deprecated
- GNOME_KEYRING_CONTROL=/tmp/keyring-7vXnOW
- GTK_MODULES=canberra-gtk-module
- HOME=/home/andrey
- LANG=ru_RU.UTF-8
- LD_LIBRARY_PATH=/usr/lib/qtcreator:
- LOGNAME=andrey
- MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path
- ORBIT_SOCKETDIR=/tmp/orbit-andrey
- PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
- PWD=/home/andrey
- QTDIR=/usr/share/qt4
- SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1124,unix/buull-eeePC:/tmp/.ICE-unix/1124
- SHELL=/bin/bash
- SPEECHD_PORT=6561
- SSH_AGENT_PID=1158
- SSH_AUTH_SOCK=/tmp/keyring-7vXnOW/ssh
- USER=andrey
- USERNAME=andrey
- XAUTHORITY=/var/run/gdm/auth-for-andrey-HWCXAG/database
- XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg
- XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/
- XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1281338556.676663-803309736
-
- true
-
- clean
- -w
-
- /usr/bin/make
- true
- /home/andrey/AD/aliendefender/ADeditor
- true
-
- clean
-
-
-
-
- buildconfiguration-Release-buildstep0
-
- Release
-
-
-
- buildconfiguration-Release-buildstep1
-
- Release
-
-
-
- buildconfiguration-Release-cleanstep0
-
- Release
-
-
-
- buildconfigurations
-
- Debug
- Release
-
-
-
- buildstep0
-
-
-
-
-
-
- buildstep1
-
-
-
-
-
- buildsteps
-
- trolltech.qt4projectmanager.qmake
- trolltech.qt4projectmanager.make
-
-
-
- cleanstep0
-
-
- true
-
-
-
- cleansteps
-
- trolltech.qt4projectmanager.make
-
-
-
- defaultFileEncoding
- System
-
-
- project
-
+ ProjectExplorer.Project.Updater.FileVersion
+ 4
diff --git a/ADeditor/alienmodel.h b/ADeditor/alienmodel.h
index 72797c3..c41890d 100644
--- a/ADeditor/alienmodel.h
+++ b/ADeditor/alienmodel.h
@@ -8,16 +8,16 @@ class AlienModel : public QAbstractListModel
{
Q_OBJECT
public:
- explicit AlienModel(QList aliens, QObject *parent = 0);
+ explicit AlienModel(QList *data, QObject *parent = 0);
int rowCount(const QModelIndex &parent = QModelIndex()) const;
QVariant data(const QModelIndex &index, int role) const;
- void refresh(QList aliens);
+ void refresh(QList aliens);
signals:
public slots:
private:
- QList aliens;
+ QList *data;
};
#endif // ALIENMODEL_H
diff --git a/ADeditor/mainwindow.cpp b/ADeditor/mainwindow.cpp
index 977a34f..7aa7072 100644
--- a/ADeditor/mainwindow.cpp
+++ b/ADeditor/mainwindow.cpp
@@ -5,160 +5,192 @@
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");
- 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::Select);
+ 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)));
+ ui->lvAliens->selectionModel()->setCurrentIndex(ui->lvAliens->model()->index(0,0),QItemSelectionModel::Select);
+ 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::Select);
+
}
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);
}
void MainWindow::on_pbSave_clicked()
{
- adloader->save("data2.xml");
- adloader->load("data2.xml");
- alModel->refresh(adloader->aliens.values());
+ adloader->save("data2.xml");
+ adloader->load("data2.xml");
+ alModel->refresh(adloader->aliens.values());
}
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);
}
void MainWindow::on_pbAlAdd_clicked()
{
- int i = 1;
- while (adloader->aliens.contains(i)) i++;
- tbAlien al;
- al.id = i;
- 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::Select);
+ int i = 1;
+ while (adloader->aliens.contains(i)) i++;
+ tbAlien al;
+ al.id = i;
+ 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::Select);
}
void MainWindow::on_pbAlDel_clicked()
{
- 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::Select);
- }
+ 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::Select);
+ }
+}
+
+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);
+}
+
+void MainWindow::on_pbTwAdd_clicked()
+{
+
}
diff --git a/ADeditor/mainwindow.h b/ADeditor/mainwindow.h
index ac5d0e3..dee6adf 100644
--- a/ADeditor/mainwindow.h
+++ b/ADeditor/mainwindow.h
@@ -6,6 +6,7 @@
#include
#include "alienmodel.h"
+#include "towermodel.h"
namespace Ui {
@@ -23,24 +24,28 @@ protected:
private:
Ui::MainWindow *ui;
- Loader * adloader;
- AlienModel * alModel;
+ Loader * adloader;
+ AlienModel * alModel;
+ TowerModel * twModel;
private slots:
- void on_pbAlDel_clicked();
- void on_pbAlAdd_clicked();
- void on_leAlName_editingFinished();
- void on_cbAlIsFly_clicked(bool checked);
- void on_sbAlScore_valueChanged(int );
- void on_sbAlPrise_valueChanged(int );
- void on_sbAlSpeed_valueChanged(double );
- void on_sbAlregeneration_valueChanged(double );
- void on_sbAlArmor_valueChanged(double );
- void on_sbAlHealth_valueChanged(double );
- void on_pbSave_clicked();
- void lvAliens_select(QModelIndex, QModelIndex);
- void on_cbAlRegeneration_toggled(bool checked);
- void on_cbAlArmor_toggled(bool checked);
+ void on_pbTwAdd_clicked();
+ void on_leTwName_editingFinished();
+ void on_pbAlDel_clicked();
+ void on_pbAlAdd_clicked();
+ void on_leAlName_editingFinished();
+ void on_cbAlIsFly_clicked(bool checked);
+ void on_sbAlScore_valueChanged(int );
+ void on_sbAlPrise_valueChanged(int );
+ void on_sbAlSpeed_valueChanged(double );
+ void on_sbAlregeneration_valueChanged(double );
+ void on_sbAlArmor_valueChanged(double );
+ void on_sbAlHealth_valueChanged(double );
+ void on_pbSave_clicked();
+ void lvAliens_select(QModelIndex, QModelIndex);
+ void lvTowers_select(QModelIndex, QModelIndex);
+ void on_cbAlRegeneration_toggled(bool checked);
+ void on_cbAlArmor_toggled(bool checked);
};
#endif // MAINWINDOW_H
diff --git a/ADeditor/mainwindow.ui b/ADeditor/mainwindow.ui
index 34f7bf1..1c29f3f 100644
--- a/ADeditor/mainwindow.ui
+++ b/ADeditor/mainwindow.ui
@@ -6,25 +6,38 @@
0
0
- 516
- 468
+ 598
+ 489
+
+ PointingHandCursor
+
MainWindow
+
+ QMainWindow::AllowNestedDocks|QMainWindow::AllowTabbedDocks|QMainWindow::AnimatedDocks|QMainWindow::ForceTabbedDocks
+
-
- -
-
+
+
-
+
- 0
+ 2
-
+
Aliens
-
+
+
-
+
+
+ QAbstractItemView::AllEditTriggers
+
+
+
-
@@ -366,6 +379,9 @@
0
+
+ PointingHandCursor
+
Add
@@ -386,25 +402,21 @@
- -
-
-
- QAbstractItemView::AllEditTriggers
-
-
-
-
+
Towers
-
+
-
-
+
- -
+
-
+
+ ArrowCursor
+
QFrame::StyledPanel
@@ -431,7 +443,7 @@
-
-
+
@@ -454,7 +466,7 @@
-
-
+
@@ -477,7 +489,7 @@
-
-
+
@@ -500,7 +512,7 @@
-
-
+
@@ -523,7 +535,7 @@
-
-
+
@@ -546,7 +558,7 @@
-
-
+
@@ -569,7 +581,7 @@
-
-
+
@@ -592,7 +604,7 @@
-
-
+
@@ -615,7 +627,7 @@
-
-
+
@@ -638,7 +650,7 @@
-
-
+
0
@@ -683,6 +695,9 @@
32
+
+ PointingHandCursor
+
...
@@ -693,12 +708,343 @@
+ -
+
+
+ 20
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ PointingHandCursor
+
+
+ Add
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ PointingHandCursor
+
+
+ Delete
+
+
+
+
+
+
+
+ Splashes
+
+
+ -
+
+
+ QAbstractItemView::AllEditTriggers
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+ IBeamCursor
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Raised
+
+
+
+ QLayout::SetDefaultConstraint
+
+
+ 5
+
+
+ 5
+
+
+ 2
+
+
-
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Name
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Speed
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+
+
+ 5
+
+
+ 99.000000000000000
+
+
+ 0.010000000000000
+
+
+ 0.010000000000000
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ ArrowCursor
+
+
+ Qt::LeftToRight
+
+
+ AutoControl
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ LifeTime
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Image
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 40
+ 40
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 48
+ 32
+
+
+
+ PointingHandCursor
+
+
+ ...
+
+
+
+
+
+
+
+
+ -
+
+
+ 20
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ PointingHandCursor
+
+
+ Add
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ PointingHandCursor
+
+
+ Delete
+
+
+
+
+
+
+
+
+
+ Tab 2
+
+
- -
+
-
+
+ PointingHandCursor
+
Save
diff --git a/ADeditor/splashmodel.cpp b/ADeditor/splashmodel.cpp
new file mode 100644
index 0000000..b30de91
--- /dev/null
+++ b/ADeditor/splashmodel.cpp
@@ -0,0 +1,6 @@
+#include "splashmodel.h"
+
+SplashModel::SplashModel(QList splashes, QObject *parent) :
+ QAbstractListModel(parent)
+{
+}
diff --git a/ADeditor/splashmodel.h b/ADeditor/splashmodel.h
new file mode 100644
index 0000000..2c8c168
--- /dev/null
+++ b/ADeditor/splashmodel.h
@@ -0,0 +1,23 @@
+#ifndef SPLASHMODEL_H
+#define SPLASHMODEL_H
+
+#include
+#include "../loader.h"
+
+class SplashModel : public QAbstractListModel
+{
+ Q_OBJECT
+public:
+ explicit SplashModel(QList splashes, QObject *parent = 0);
+ //int rowCount(const QModelIndex &parent = QModelIndex()) const;
+ //QVariant data(const QModelIndex &index, int role) const;
+ void refresh(QList splashes);
+
+signals:
+
+public slots:
+private:
+ QList splashes;
+};
+
+#endif // SPLASHMODEL_H
diff --git a/ADeditor/towermodel.cpp b/ADeditor/towermodel.cpp
new file mode 100644
index 0000000..9c0ab79
--- /dev/null
+++ b/ADeditor/towermodel.cpp
@@ -0,0 +1,34 @@
+#include "towermodel.h"
+
+TowerModel::TowerModel(QList mtowers, QObject *parent) :
+ QAbstractListModel(parent)
+{
+ towers = mtowers;
+}
+
+void TowerModel::refresh(QList mtowers)
+{
+ towers = mtowers;
+}
+
+
+int TowerModel::rowCount(const QModelIndex &) const
+{
+ return towers.count();
+}
+
+
+QVariant TowerModel::data(const QModelIndex &index, int role) const
+{
+ if (!index.isValid())
+ return QVariant();
+
+ if (index.row() >= towers.size())
+ return QVariant();
+
+ if (role == Qt::DisplayRole)
+ {
+ return towers.at(index.row()).name;
+ }
+ return QVariant();
+}
diff --git a/ADeditor/towermodel.h b/ADeditor/towermodel.h
new file mode 100644
index 0000000..7ec45cc
--- /dev/null
+++ b/ADeditor/towermodel.h
@@ -0,0 +1,22 @@
+#ifndef TOWERMODEL_H
+#define TOWERMODEL_H
+
+#include
+#include "../loader.h"
+
+class TowerModel : public QAbstractListModel
+{
+ Q_OBJECT
+public:
+ explicit TowerModel(QList towers, QObject *parent = 0);
+ int rowCount(const QModelIndex &parent = QModelIndex()) const;
+ QVariant data(const QModelIndex &index, int role) const;
+ void refresh(QList towers);
+signals:
+
+public slots:
+private:
+ QList towers;
+};
+
+#endif // TOWERMODEL_H
diff --git a/aliendefender.pro.user b/aliendefender.pro.user
index d841b83..70767dc 100644
--- a/aliendefender.pro.user
+++ b/aliendefender.pro.user
@@ -1,255 +1,113 @@
- RunConfiguration0-BaseEnvironmentBase
- 2
-
-
- RunConfiguration0-CommandLineArguments
-
-
-
- RunConfiguration0-ProFile
- aliendefender.pro
-
-
- RunConfiguration0-RunConfiguration.name
- aliendefender
-
-
- RunConfiguration0-UseDyldImageSuffix
- false
-
-
- RunConfiguration0-UseTerminal
- false
-
-
- RunConfiguration0-UserEnvironmentChanges
-
-
-
- RunConfiguration0-UserSetName
- false
-
-
- RunConfiguration0-UserSetWorkingDirectory
- false
-
-
- RunConfiguration0-UserWorkingDirectory
-
-
-
- RunConfiguration0-type
- Qt4ProjectManager.Qt4RunConfiguration
-
-
- activeRunConfiguration
+ ProjectExplorer.Project.ActiveTarget
0
- activebuildconfiguration
- Debug
-
-
- buildConfiguration-Debug
+ ProjectExplorer.Project.EditorSettings
- Debug
- 2
- 0
-
- 2
+ System
- buildconfiguration-Debug-buildstep0
+ ProjectExplorer.Project.Target.0
- Debug
-
- DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5i8Go7nPio,guid=870ffe971971ceac89206f0e4c5facbd
- DEFAULTS_PATH=/usr/share/gconf/gnome.default.path
- DESKTOP_SESSION=gnome
- DISPLAY=:0.0
- GDMSESSION=gnome
- GDM_KEYBOARD_LAYOUT=us
- GDM_LANG=ru_RU.UTF-8
- GNOME_DESKTOP_SESSION_ID=this-is-deprecated
- GNOME_KEYRING_CONTROL=/tmp/keyring-7vXnOW
- GTK_MODULES=canberra-gtk-module
- HOME=/home/andrey
- LANG=ru_RU.UTF-8
- LD_LIBRARY_PATH=/usr/lib/qtcreator:
- LOGNAME=andrey
- MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path
- ORBIT_SOCKETDIR=/tmp/orbit-andrey
- PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
- PWD=/home/andrey
- QTDIR=/usr/share/qt4
- SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1124,unix/buull-eeePC:/tmp/.ICE-unix/1124
- SHELL=/bin/bash
- SPEECHD_PORT=6561
- SSH_AGENT_PID=1158
- SSH_AUTH_SOCK=/tmp/keyring-7vXnOW/ssh
- USER=andrey
- USERNAME=andrey
- XAUTHORITY=/var/run/gdm/auth-for-andrey-HWCXAG/database
- XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg
- XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/
- XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1281338556.676663-803309736
-
-
- /home/andrey/AD/aliendefender/aliendefender.pro
- -spec
- linux-g++
- -r
- CONFIG+=debug
-
- /usr/bin/qmake-qt4
- false
- /home/andrey/AD/aliendefender
+ Настольный компьютер
+ Qt4ProjectManager.Target.DesktopTarget
+ 0
+ 0
+
+
+ qmake
+ QtProjectManager.QMakeBuildStep
+
+
+
+ Сборка
+ Qt4ProjectManager.MakeStep
+ false
+
+
+
+ 2
+
+ Сборка
+ Qt4ProjectManager.MakeStep
+ true
+
+ clean
+
+
+
+ 1
+ false
+
+ Отладка
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 2
+ C:/Users/Andrey/Desktop/aliendefender-build-desktop
+ 5
+ 2
+ true
+
+
+
+ qmake
+ QtProjectManager.QMakeBuildStep
+
+
+
+ Сборка
+ Qt4ProjectManager.MakeStep
+ false
+
+
+
+ 2
+
+ Сборка
+ Qt4ProjectManager.MakeStep
+ true
+
+ clean
+
+
+
+ 1
+ false
+
+ Релиз
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ C:/Users/Andrey/Desktop/aliendefender-build-desktop
+ 5
+ 2
+ true
+
+ 2
+
+ aliendefender
+ Qt4ProjectManager.Qt4RunConfiguration
+ 2
+
+ aliendefender.pro
+ false
+ false
+
+ false
+ false
+
+
+ 1
- buildconfiguration-Debug-buildstep1
-
- Debug
-
- DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5i8Go7nPio,guid=870ffe971971ceac89206f0e4c5facbd
- DEFAULTS_PATH=/usr/share/gconf/gnome.default.path
- DESKTOP_SESSION=gnome
- DISPLAY=:0.0
- GDMSESSION=gnome
- GDM_KEYBOARD_LAYOUT=us
- GDM_LANG=ru_RU.UTF-8
- GNOME_DESKTOP_SESSION_ID=this-is-deprecated
- GNOME_KEYRING_CONTROL=/tmp/keyring-7vXnOW
- GTK_MODULES=canberra-gtk-module
- HOME=/home/andrey
- LANG=ru_RU.UTF-8
- LD_LIBRARY_PATH=/usr/lib/qtcreator:
- LOGNAME=andrey
- MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path
- ORBIT_SOCKETDIR=/tmp/orbit-andrey
- PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
- PWD=/home/andrey
- QTDIR=/usr/share/qt4
- SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1124,unix/buull-eeePC:/tmp/.ICE-unix/1124
- SHELL=/bin/bash
- SPEECHD_PORT=6561
- SSH_AGENT_PID=1158
- SSH_AUTH_SOCK=/tmp/keyring-7vXnOW/ssh
- USER=andrey
- USERNAME=andrey
- XAUTHORITY=/var/run/gdm/auth-for-andrey-HWCXAG/database
- XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg
- XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/
- XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1281338556.676663-803309736
-
- false
-
- -w
-
- /usr/bin/make
- true
- /home/andrey/AD/aliendefender
-
+ ProjectExplorer.Project.TargetCount
+ 1
- buildconfiguration-Debug-cleanstep0
-
- Debug
-
- DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5i8Go7nPio,guid=870ffe971971ceac89206f0e4c5facbd
- DEFAULTS_PATH=/usr/share/gconf/gnome.default.path
- DESKTOP_SESSION=gnome
- DISPLAY=:0.0
- GDMSESSION=gnome
- GDM_KEYBOARD_LAYOUT=us
- GDM_LANG=ru_RU.UTF-8
- GNOME_DESKTOP_SESSION_ID=this-is-deprecated
- GNOME_KEYRING_CONTROL=/tmp/keyring-7vXnOW
- GTK_MODULES=canberra-gtk-module
- HOME=/home/andrey
- LANG=ru_RU.UTF-8
- LD_LIBRARY_PATH=/usr/lib/qtcreator:
- LOGNAME=andrey
- MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path
- ORBIT_SOCKETDIR=/tmp/orbit-andrey
- PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
- PWD=/home/andrey
- QTDIR=/usr/share/qt4
- SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1124,unix/buull-eeePC:/tmp/.ICE-unix/1124
- SHELL=/bin/bash
- SPEECHD_PORT=6561
- SSH_AGENT_PID=1158
- SSH_AUTH_SOCK=/tmp/keyring-7vXnOW/ssh
- USER=andrey
- USERNAME=andrey
- XAUTHORITY=/var/run/gdm/auth-for-andrey-HWCXAG/database
- XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg
- XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/
- XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1281338556.676663-803309736
-
- true
-
- clean
- -w
-
- /usr/bin/make
- true
- /home/andrey/AD/aliendefender
- true
-
- clean
-
-
-
-
- buildconfigurations
-
- Debug
-
-
-
- buildstep0
-
-
-
-
-
-
- buildstep1
-
-
-
-
-
- buildsteps
-
- trolltech.qt4projectmanager.qmake
- trolltech.qt4projectmanager.make
-
-
-
- cleanstep0
-
-
- true
-
-
-
- cleansteps
-
- trolltech.qt4projectmanager.make
-
-
-
- defaultFileEncoding
- System
-
-
- project
-
+ ProjectExplorer.Project.Updater.FileVersion
+ 4
diff --git a/aliendefender.pro.user.1.3 b/aliendefender.pro.user.1.3
index f344427..d841b83 100644
--- a/aliendefender.pro.user.1.3
+++ b/aliendefender.pro.user.1.3
@@ -56,25 +56,18 @@
buildConfiguration-Debug
Debug
- 0
+ 2
0
+
2
-
- buildConfiguration-Release
-
- Release
- 0
- 0
-
-
buildconfiguration-Debug-buildstep0
Debug
- DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-p5HnkClUWv,guid=600e78a10ff64ffb1ced7c414c4c6498
+ DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5i8Go7nPio,guid=870ffe971971ceac89206f0e4c5facbd
DEFAULTS_PATH=/usr/share/gconf/gnome.default.path
DESKTOP_SESSION=gnome
DISPLAY=:0.0
@@ -82,7 +75,7 @@
GDM_KEYBOARD_LAYOUT=us
GDM_LANG=ru_RU.UTF-8
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
- GNOME_KEYRING_CONTROL=/tmp/keyring-wgH6gj
+ GNOME_KEYRING_CONTROL=/tmp/keyring-7vXnOW
GTK_MODULES=canberra-gtk-module
HOME=/home/andrey
LANG=ru_RU.UTF-8
@@ -93,20 +86,20 @@
PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
PWD=/home/andrey
QTDIR=/usr/share/qt4
- SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1203,unix/buull-eeePC:/tmp/.ICE-unix/1203
+ SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1124,unix/buull-eeePC:/tmp/.ICE-unix/1124
SHELL=/bin/bash
SPEECHD_PORT=6561
- SSH_AGENT_PID=1245
- SSH_AUTH_SOCK=/tmp/keyring-wgH6gj/ssh
+ SSH_AGENT_PID=1158
+ SSH_AUTH_SOCK=/tmp/keyring-7vXnOW/ssh
USER=andrey
USERNAME=andrey
- XAUTHORITY=/var/run/gdm/auth-for-andrey-MPPKxH/database
+ XAUTHORITY=/var/run/gdm/auth-for-andrey-HWCXAG/database
XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg
XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/
- XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1280074903.597291-1238668786
+ XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1281338556.676663-803309736
- /home/andrey/aliendefender/aliendefender.pro
+ /home/andrey/AD/aliendefender/aliendefender.pro
-spec
linux-g++
-r
@@ -114,7 +107,7 @@
/usr/bin/qmake-qt4
false
- /home/andrey/aliendefender
+ /home/andrey/AD/aliendefender
@@ -122,7 +115,7 @@
Debug
- DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-p5HnkClUWv,guid=600e78a10ff64ffb1ced7c414c4c6498
+ DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5i8Go7nPio,guid=870ffe971971ceac89206f0e4c5facbd
DEFAULTS_PATH=/usr/share/gconf/gnome.default.path
DESKTOP_SESSION=gnome
DISPLAY=:0.0
@@ -130,7 +123,7 @@
GDM_KEYBOARD_LAYOUT=us
GDM_LANG=ru_RU.UTF-8
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
- GNOME_KEYRING_CONTROL=/tmp/keyring-wgH6gj
+ GNOME_KEYRING_CONTROL=/tmp/keyring-7vXnOW
GTK_MODULES=canberra-gtk-module
HOME=/home/andrey
LANG=ru_RU.UTF-8
@@ -141,17 +134,17 @@
PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
PWD=/home/andrey
QTDIR=/usr/share/qt4
- SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1203,unix/buull-eeePC:/tmp/.ICE-unix/1203
+ SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1124,unix/buull-eeePC:/tmp/.ICE-unix/1124
SHELL=/bin/bash
SPEECHD_PORT=6561
- SSH_AGENT_PID=1245
- SSH_AUTH_SOCK=/tmp/keyring-wgH6gj/ssh
+ SSH_AGENT_PID=1158
+ SSH_AUTH_SOCK=/tmp/keyring-7vXnOW/ssh
USER=andrey
USERNAME=andrey
- XAUTHORITY=/var/run/gdm/auth-for-andrey-MPPKxH/database
+ XAUTHORITY=/var/run/gdm/auth-for-andrey-HWCXAG/database
XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg
XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/
- XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1280074903.597291-1238668786
+ XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1281338556.676663-803309736
false
@@ -159,42 +152,63 @@
/usr/bin/make
true
- /home/andrey/aliendefender
+ /home/andrey/AD/aliendefender
buildconfiguration-Debug-cleanstep0
Debug
+
+ DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5i8Go7nPio,guid=870ffe971971ceac89206f0e4c5facbd
+ DEFAULTS_PATH=/usr/share/gconf/gnome.default.path
+ DESKTOP_SESSION=gnome
+ DISPLAY=:0.0
+ GDMSESSION=gnome
+ GDM_KEYBOARD_LAYOUT=us
+ GDM_LANG=ru_RU.UTF-8
+ GNOME_DESKTOP_SESSION_ID=this-is-deprecated
+ GNOME_KEYRING_CONTROL=/tmp/keyring-7vXnOW
+ GTK_MODULES=canberra-gtk-module
+ HOME=/home/andrey
+ LANG=ru_RU.UTF-8
+ LD_LIBRARY_PATH=/usr/lib/qtcreator:
+ LOGNAME=andrey
+ MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path
+ ORBIT_SOCKETDIR=/tmp/orbit-andrey
+ PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
+ PWD=/home/andrey
+ QTDIR=/usr/share/qt4
+ SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1124,unix/buull-eeePC:/tmp/.ICE-unix/1124
+ SHELL=/bin/bash
+ SPEECHD_PORT=6561
+ SSH_AGENT_PID=1158
+ SSH_AUTH_SOCK=/tmp/keyring-7vXnOW/ssh
+ USER=andrey
+ USERNAME=andrey
+ XAUTHORITY=/var/run/gdm/auth-for-andrey-HWCXAG/database
+ XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg
+ XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/
+ XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1281338556.676663-803309736
+
+ true
+
+ clean
+ -w
+
+ /usr/bin/make
+ true
+ /home/andrey/AD/aliendefender
true
clean
-
- buildconfiguration-Release-buildstep0
-
- Release
-
-
-
- buildconfiguration-Release-buildstep1
-
- Release
-
-
-
- buildconfiguration-Release-cleanstep0
-
- Release
-
-
buildconfigurations
Debug
- Release
diff --git a/loader.cpp b/loader.cpp
index a43598e..8fcd349 100644
--- a/loader.cpp
+++ b/loader.cpp
@@ -726,7 +726,7 @@ void Loader::readMaps()
void Loader::validate(QString filename)
{
- QFile sfile("schema.xml");
+ QFile sfile("schema.xml");
if (!sfile.open(QIODevice::ReadOnly))
qFatal("No file schema.xml found!");
QXmlSchema schema;
diff --git a/loader.h b/loader.h
index 33abf36..d4fa9cb 100644
--- a/loader.h
+++ b/loader.h
@@ -8,10 +8,14 @@
#include
#include "game_data.h"
-struct tbAlien
+struct tbHeader
+{
+ int id;
+ QString name;
+};
+
+struct tbAlien : tbHeader
{
- int id;
- QString name;
float speed;
float health;
float armor;
@@ -22,17 +26,15 @@ struct tbAlien
unsigned int prise;
};
-struct tbSplash
+struct tbSplash : tbHeader
{
- int id;
- QString name;
float speed;
unsigned int lifetime;
bool autoControl;
int imgType;
};
-struct tbTrigger
+struct tbTrigger : tbHeader
{
enum triggerType
{
@@ -48,8 +50,6 @@ struct tbTrigger
allSide,
nearlestAlien
};
- int id;
- QString name;
float damage;
float radius;
int chance;
@@ -61,10 +61,8 @@ struct tbTrigger
float randomPosRadius;
};
-struct tbTower
+struct tbTower : tbHeader
{
- int id;
- QString name;
float radius;
unsigned int cost;
unsigned int reload;
@@ -124,10 +122,8 @@ struct tbWaveOnLevel
int waveId;
};
-struct tbMap
+struct tbMap : tbHeader
{
- int id;
- QString name;
unsigned int maxPlayers;
//QVector < QVector > cells;
QByteArray data;
@@ -142,10 +138,8 @@ struct tbTowerOnLevel
//int enableWaveId;
};
-struct tbLevel
+struct tbLevel : tbHeader
{
- int id;
- QString name;
int mapId;
unsigned int score;
};