-
Notifications
You must be signed in to change notification settings - Fork 0
/
mainmenustate.cpp
49 lines (40 loc) · 1.51 KB
/
mainmenustate.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
#include<iostream>
#include<sstream>
#include "definitions.h"
#include "mainmenustate.h"
#include "gamestate.h"
namespace Game{
MainMenuState::MainMenuState(GameDataRef data)
:_data(data){}
void MainMenuState::Init()
{
_data->assets.LoadTexture("Main Menu Background", MAIN_MENU_BACKGROUND_FILEPATH);
_data->assets.LoadTexture("Game Title", GAME_TITLE_FILEPATH );
_data->assets.LoadTexture("Play Button", PLAY_BUTTON_FILEPATH);
_playButton.setTexture(this->_data->assets.GetTexture("Play Button"));
_background.setTexture(this->_data->assets.GetTexture("Main Menu Background"));
_title.setTexture(this->_data->assets.GetTexture("Game Title"));
_title.setPosition((SCREEN_WIDTH/2)-(_title.getGlobalBounds().width/2), _title.getGlobalBounds().height/2);
_playButton.setPosition((SCREEN_WIDTH/2)-(_playButton.getGlobalBounds().width/2),(SCREEN_HEIGHT/2)-(_playButton.getGlobalBounds().height/2));
}
void MainMenuState::HandleInput(){
sf::Event event;
while(_data->window.pollEvent(event)){
if(sf::Event::Closed==event.type){
_data->window.close();
}
if(_data->input.IsSpriteClicked(_playButton, sf::Mouse::Left, _data->window)){
_data->machine.AddState(StateRef(new GameState(_data)),true);
}
}
}
void MainMenuState::Update(float dt){
}
void MainMenuState::Draw(float dt){
_data->window.clear();
_data->window.draw(_background);
_data->window.draw(_title);
_data->window.draw(_playButton );
_data->window.display();
}
}