Icons.
[evilplumber] / src / main.cpp
index e02d796..29c8791 100644 (file)
@@ -1,4 +1,7 @@
 #include "ui_main.h"
+#include "ui_startlevel.h"
+#include "ui_collections.h"
+#include "ui_game.h"
 #include "game.h"
 
 #include <QDebug>
 
 int main(int argc, char** argv)
 {
-  QApplication app(argc, argv);
+    QApplication app(argc, argv);
 
-  qDebug() << "Reading levels from" << LEVDIR;
-  qDebug() << "Reading images from" << IMGDIR;
+    qDebug() << "Reading levels from" << LEVDIR;
+    qDebug() << "Reading images from" << IMGDIR;
 
-  QWidget mainWindow;
-  
-  Ui::Main ui;
-  ui.setupUi(&mainWindow);
-  QObject::connect(ui.quitButton, SIGNAL(clicked()), &app, SLOT(quit()));
+    QWidget mainWindow;
 
+    Ui::Main ui;
+    ui.setupUi(&mainWindow);
 
-  GameField field(ui.gameTable);
-  AvailablePieces pieces(ui.pieceTable);
-  QStringList levels;
-  levels << "level01" << "level02";
-  GameController controller(&pieces, &field, ui.timeLabel, ui.doneButton);
-  LevelSwitcher switcher(&controller, ui.levelLabel, ui.startFrame, ui.startTitle, ui.startLabel, ui.startButton, ui.scoreLabel, levels);
+    Ui::StartLevel startUi;
+    startUi.setupUi(ui.startWidget);
+    QObject::connect(startUi.quitButton, SIGNAL(clicked()), &app, SLOT(quit()));
 
-  mainWindow.show();
+    Ui::LevelCollections levelUi;
+    levelUi.setupUi(ui.collectionWidget);
+    QObject::connect(levelUi.quitButton, SIGNAL(clicked()), &app, SLOT(quit()));
 
+    Ui::Game gameUi;
+    gameUi.setupUi(ui.gameWidget);
 
+    GameField field(gameUi.gameTable);
+    AvailablePieces pieces(gameUi.pieceTable);
+    QStringList levelCollections;
+    levelCollections << "intro" << "basic"; // TODO: read from fs
+    GameController controller(&pieces, &field, gameUi.timeLabel, gameUi.doneButton);
+    LevelSwitcher switcher(&controller,
+                           ui.collectionWidget, levelUi.levelList, levelUi.startButton,
+                           ui.startWidget, startUi.startTitle,
+                           startUi.startLabel, startUi.startButton,
+                           ui.gameWidget, gameUi.levelLabel, gameUi.scoreLabel, levelCollections);
 
-  return app.exec();
+    mainWindow.show();
+
+    return app.exec();
 }