]> Shamusworld >> Repos - warehouse-man-deluxe/blobdiff - src/gamewidget.cpp
Moved level storage to global location.
[warehouse-man-deluxe] / src / gamewidget.cpp
index 037a26f71471a76d8462354801fa83c53acb6916..21dda8b9db12565aafd0edb4a9f01d0ff98f336a 100644 (file)
 
 #include "gamewidget.h"
 #include <unistd.h>                    // for usleep()
+#include "boards.h"
 #include "gameboard.h"
 
 
 GameWidget::GameWidget(QWidget * parent/*= 0*/): QWidget(parent),
-       level(1), gameBoard(new GameBoard(level)),
+//     level(1), gameBoard(new GameBoard(level)),
+       level(1), gameBoard(new GameBoard(&(levelStorage[level - 1]))),
        animating(false), boxMoving(false)
 //     score(new QLabel)
 {
@@ -61,7 +63,7 @@ void GameWidget::paintEvent(QPaintEvent * /*event*/)
                        else if ((tileType == GTBox)
                                && (!(boxMoving && (movingBoxPositionX == x) && (movingBoxPositionY == y))))
                        {
-                               painter.setBrush(QBrush(tile & GTBoxSpot ? Qt::green : Qt::red));
+                               painter.setBrush(QBrush(tile & GTBoxSpot ? Qt::darkRed : Qt::red));
                                painter.drawRect(x * maxLength, y * maxLength, maxLength, maxLength);
                        }
                        else if ((tileType == GTSpace)
@@ -300,7 +302,8 @@ void GameWidget::NextLevel(void)
 {
        level++;
        delete gameBoard;
-       gameBoard = new GameBoard(level);
+//     gameBoard = new GameBoard(level);
+       gameBoard = new GameBoard(&(levelStorage[level - 1]));
        ResizeGrid();
        update();
 }
@@ -366,6 +369,16 @@ void GameWidget::UndoLastMove(void)
 }
 
 
+void GameWidget::HandlePlayGameFromEditor(Level * l)
+{
+//     level++;
+       delete gameBoard;
+       gameBoard = new GameBoard(l);
+       ResizeGrid();
+       update();
+}
+
+
 void GameWidget::ResizeGrid(void)
 {
        QSize s = size();