Saving games & starting from the next un-passed level (draft).
[evilplumber] / src / main.cpp
1 #include "ui_main.h"
2 #include "ui_startlevel.h"
3 #include "ui_collections.h"
4 #include "game.h"
5
6 #include <QDebug>
7 #include <QApplication>
8
9 #include <QWidget>
10 #include <QObject>
11
12 int main(int argc, char** argv)
13 {
14     QApplication app(argc, argv);
15
16     qDebug() << "Reading levels from" << LEVDIR;
17     qDebug() << "Reading images from" << IMGDIR;
18
19     QWidget mainWindow;
20
21     Ui::Main ui;
22     ui.setupUi(&mainWindow);
23
24     Ui::StartLevel startUi;
25     startUi.setupUi(ui.startWidget);
26     QObject::connect(startUi.quitButton, SIGNAL(clicked()), &app, SLOT(quit()));
27
28     Ui::LevelCollections levelUi;
29     levelUi.setupUi(ui.collectionWidget);
30     QObject::connect(levelUi.quitButton, SIGNAL(clicked()), &app, SLOT(quit()));
31
32     GameField field(ui.gameTable);
33     AvailablePieces pieces(ui.pieceTable);
34     QStringList levelCollections;
35     levelCollections << "intro" << "basic"; // TODO: read from fs
36     GameController controller(&pieces, &field, ui.timeLabel, ui.doneButton);
37     LevelSwitcher switcher(&controller,
38                            ui.collectionWidget, levelUi.levelList, levelUi.startButton,
39                            ui.startWidget, startUi.startTitle,
40                            startUi.startLabel, startUi.startButton,
41                            ui.levelLabel, ui.scoreLabel, levelCollections);
42
43     mainWindow.show();
44
45     return app.exec();
46 }