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/mygame.cpp
2017-01-21 01:07:31 +01:00

64 lines
1.5 KiB
C++

#include "mygame.hpp"
MyGame::MyGame() {
_scene = GameScene::menu;
_scenes = std::vector<Scene*>(SCENE_NUM);
_scenes[GameScene::menu] = &_menu;
std::cout << "in menu" << std::endl;
}
MyGame::~MyGame() {
}
MyGame* i(){
return static_cast<MyGame*>(Game::i());
}
void MyGame::changeScene(GameScene::gameScene n){
_scene = n;
}
// Main game loop
void MyGame::update(float deltaTime, sf::RenderWindow*window) {
// std::cout << deltaTime << std::endl;
sf::Event event;
while(window->pollEvent(event)){
switch (event.type) {
case (sf::Event::Closed):
Game::i()->isRunning = false;
break;
case (sf::Event::KeyPressed):
if(event.key.code == sf::Keyboard::Escape)
// Exit the game like this
Game::i()->isRunning = false;
break;
case (sf::Event::MouseMoved):
case (sf::Event::MouseButtonPressed):
case (sf::Event::MouseButtonReleased):
_scenes[_scene]->updateButtons(event);
switch(_scene){
case(GameScene::menu):
//std::cout << "still in menu" << std::endl;
break;
default:
break;
}
default:
break;
}
}
// do shit
_scenes[_scene]->update(deltaTime,window);
}
void MyGame::draw(sf::RenderWindow*window) {
//a e s t h e t i c s
window->clear(sf::Color::Cyan);
// draw shit
_scenes[_scene]->draw(window);
window->display();
}