-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMainWindow.cpp
More file actions
51 lines (43 loc) · 1.17 KB
/
Copy pathMainWindow.cpp
File metadata and controls
51 lines (43 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include "MainWindow.h"
#include "Scene/Scene.h"
#include "Scene/SceneAI.h"
#include "Scene/MainMenuScene.h"
#include <QGraphicsView>
#include <QSizePolicy>
MainWindow::MainWindow()
{
setup();
}
MainWindow::~MainWindow() = default;
void MainWindow::setup() {
// MainMenu
MainMenuScene* menuScene = new MainMenuScene(this);
connect(menuScene, &MainMenuScene::signalToChangeScene, [=](int index) {
changeScene(index);
});
view_ = new QGraphicsView(menuScene);
view_->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
view_->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setCentralWidget(view_);
}
void MainWindow::keyPressEvent(QKeyEvent *event) {
if (event->key() == Qt::Key_Escape) {
close();
}
}
void MainWindow::changeScene(const int& index) {
switch (index) {
case 1:
scene_ = new Scene(this);
view_->setScene(scene_);
break;
case 2:
sceneAi_ = new SceneAI(this);
view_->setScene(sceneAi_);
break;
case 3:
sceneAi_ = new SceneAI(this, true);
view_->setScene(sceneAi_);
break;
}
}