This repository has been archived by the owner on Nov 19, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathWindowManager.cpp
91 lines (74 loc) · 3.23 KB
/
WindowManager.cpp
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
//
// Created by n30phyte on 17/11/18.
//
#include <WindowManager.h>
#include <iostream>
WindowManager::WindowManager(BaseGame game) {
Game = game;
}
void WindowManager::Render() {
windowContext.setPosition(sf::Vector2i(10, 50));
Menu menu(windowContext.getSize().x, windowContext.getSize().y);
while (windowContext.isOpen()) {
sf::Event event;
while (windowContext.pollEvent(event)) {
switch (event.type) {
case sf::Event::KeyReleased:
switch (event.key.code) {
case sf::Keyboard::Up:
menu.MoveUp();
break;
case sf::Keyboard::Down:
menu.MoveDown();
break;
case sf::Keyboard::Return:
switch (menu.GetPressedItem()) {
case 0:
// std::cout << "Play button pressed" << std::endl;
windowContext.clear();
windowContext.close();
Game.SetMode(BaseGame::GameMode::PlayervsPlayer);
Game.Start();
while(Game.is_running)
{
Game.Loop();
if (event.type == sf::Event::Closed || sf::Keyboard::isKeyPressed(sf::Keyboard::Escape)) {
windowContext.close();
break;
}
}
break;
case 1:
// std::cout << "VS AI pressed" << std::endl;
windowContext.clear();
windowContext.close();
Game.SetMode(BaseGame::GameMode::AIvsPlayer);
Game.Start();
while(Game.is_running)
{
Game.Loop();
if (event.type == sf::Event::Closed || sf::Keyboard::isKeyPressed(sf::Keyboard::Escape)) {
windowContext.close();
break;
}
}
break;
case 2:
windowContext.close();
break;
default:
break;
}
break;
}
break;
case sf::Event::Closed:
windowContext.close();
break;
}
}
windowContext.clear();
menu.draw(windowContext);
windowContext.display();
}
}