Coverage report for gui


src/
File: src/render/scenes/Menu.cpp
Date: 2024-06-25 10:57:02
Lines:
0/66
0.0%
Functions:
0/4
0.0%
Branches:
0/68
0.0%

Line Branch Exec Source
1 #include "Menu.hpp"
2 #include "../core/Core.hpp"
3
4 ✗ Menu::Menu(Core *core) : _core(core) {
5 ✗ _fullscreenButton = std::make_shared<Button>(sf::Vector2f(100, 100),
6 ✗ sf::Vector2f(100, 100), "Windowed", _core->getFont());
7 ✗ _resolutionButtons.push_back(std::make_shared<Button>(sf::Vector2f(100, 150),
8 ✗ sf::Vector2f(100, 100), "1920x1080", _core->getFont()));
9 ✗ _resolutionButtons.push_back(std::make_shared<Button>(sf::Vector2f(300, 150),
10 ✗ sf::Vector2f(100, 100), "1280x720", _core->getFont()));
11 ✗ _quitButton = std::make_shared<Button>(sf::Vector2f(100, 500), sf::Vector2f(100, 100), "Quit", _core->getFont());
12 ✗ _homeButton = std::make_shared<Button>(sf::Vector2f(100, 450), sf::Vector2f(100, 100), "Home", _core->getFont());
13 ✗ _homeButton->setCallBack(std::bind(&Menu::getBackHome, this));
14 ✗ _hzInput = std::make_shared<Input>(sf::Vector2f(100, 200), sf::Vector2f(100, 100), "60", _core->getFont(), "1234567890");
15 ✗ _hzInput->setEnd("Hz");
16 ✗ _hzInput->setInput("60");
17 ✗ _funMode = std::make_shared<Button>(sf::Vector2f(100, 250), sf::Vector2f(100, 100), "Fun Mode Off", _core->getFont());
18 ✗ }
19
20 ✗ bool Menu::update(sf::Event event, sf::RenderWindow &window) {
21 ✗ if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Escape)
22 ✗ _core->_upperState = GameState::DEFAULT;
23 ✗ if (_fullscreenButton->update(event, window)) {
24 ✗ _core->switchFullscreen();
25 ✗ _fullscreenButton->setText(_core->isFullscreen() ? "Fullscreen" : "Windowed");
26 ✗ return true;
27 }
28 ✗ if (_resolutionButtons[0]->update(event, window)) {
29 ✗ _core->newResolution(sf::Vector2f(1920, 1080));
30 ✗ return true;
31 }
32 ✗ if (_resolutionButtons[1]->update(event, window)) {
33 ✗ _core->newResolution(sf::Vector2f(1280, 720));
34 ✗ return true;
35 }
36 ✗ if (_funMode->update(event, window)) {
37 ✗ if (_funMode->getText() == "Fun Mode Off")
38 ✗ _funMode->setText("Fun Mode On");
39 else
40 ✗ _funMode->setText("Fun Mode Off");
41 ✗ _core->_funMode = !_core->_funMode;
42 }
43 ✗ if (_quitButton->update(event, window))
44 ✗ window.close();
45 ✗ _homeButton->update(event, window);
46 ✗ if (_hzInput->isFocused() == false) {
47 ✗ if (_hzInput->getInput().size() == 0)
48 ✗ _hzInput->setInput("0");
49 ✗ if (std::atoi(_hzInput->getInput().c_str()) != _core->_tickRate)
50 ✗ _hzInput->setInput(std::to_string(_core->_tickRate));
51 }
52 ✗ if (_hzInput->update(event, window)) {
53 int newTickRate = 2;
54 try {
55 ✗ newTickRate = std::stoi(_hzInput->getInput());
56 ✗ } catch (std::exception &e) {
57 ✗ }
58 ✗ if (newTickRate < 2)
59 newTickRate = 2;
60 ✗ if (newTickRate > 1000)
61 newTickRate = 1000;
62 ✗ _core->_tickRate = newTickRate;
63 ✗ _core->_data.requestNewTickRate(newTickRate, _core->_server);
64 ✗ _hzInput->setInput(std::to_string(newTickRate));
65 ✗ return true;
66 }
67 return true;
68 }
69
70 ✗ void Menu::draw(sf::RenderWindow &window) {
71 ✗ _fullscreenButton->draw(window);
72 ✗ for (auto &button : _resolutionButtons)
73 ✗ button->draw(window);
74 ✗ _quitButton->draw(window);
75 ✗ _homeButton->draw(window);
76 ✗ _funMode->draw(window);
77 ✗ _hzInput->draw(window, _core->getDeltaTime());
78 ✗ }
79
80 ✗ void Menu::getBackHome() {
81 ✗ if (_core->_server.disconectFromServer() == true)
82 ✗ _core->_data.resetGame();
83 ✗ _core->_upperState = GameState::DEFAULT;
84 ✗ _core->_state = GameState::HOME;
85 ✗ }
86