This repository has been archived on 2022-12-14. You can view files and clone it, but cannot push or open issues or pull requests.
WaveGGJ17/VaporWaveWars/menu.cpp
2017-01-22 15:41:03 +01:00

45 lines
1.4 KiB
C++

#include "menu.hpp"
#include "mygame.hpp"
Menu::Menu() {
_start.setPosition(512-160,200);
_exit.setPosition(512-160,400);
_start.turnOn();
_exit.turnOn();
_buttons.push_back(&_start);
_buttons.push_back(&_exit);
ASSERT(textureBackground.loadFromFile(WORK_DIR+"Resources/background.png"));
background.setTexture(textureBackground);
background.setPosition(0,0);
}
void Menu::update(float deltaTime, sf::RenderWindow*window){
//float dx = InputManager::action(InputAction::moveX0);
//_buttons[0]->move(dx,0);
////std::cout << dx << std::endl;
for(unsigned int i = 0; i < _buttons.size(); ++i){
_buttons[i]->update(window->mapPixelToCoords(sf::Vector2i(sf::Mouse::getPosition(*window))));
}
}
void Menu::draw(sf::RenderWindow* window){
window->draw(background);
for(unsigned int i = 0; i < _buttons.size(); ++i){
window->draw(*_buttons[i]);
}
}
void Menu::updateEvents(sf::Event e){
// //std::cout << "update menu buttons" << std::endl;
for(unsigned int i = 0; i < _buttons.size(); ++i){
_buttons[i]->handleMouseEvent(e);
}
MyGame* g = static_cast<MyGame*>(Game::i());
if (_start.getClicks() > 0){
g->changeScene(GameScene::inGame);
//std::cout << "Game not ready to be played. Please Wait." << std::endl;
}
else if(_exit.getClicks() > 0) g->isRunning = false;
}