2020-06-08 15:51:54 +03:00
|
|
|
#include "SynEngine.hpp"
|
|
|
|
class GameConfiguration;
|
|
|
|
|
|
|
|
class GameManager
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
static GameConfiguration *config;
|
2020-06-08 23:59:42 +03:00
|
|
|
static unsigned lastInputDirection;
|
2020-06-08 15:51:54 +03:00
|
|
|
|
|
|
|
public:
|
2020-06-08 23:59:42 +03:00
|
|
|
static void KeyPress(sf::Keyboard::Key);
|
2020-06-08 15:51:54 +03:00
|
|
|
static void SetConfig(GameConfiguration &);
|
|
|
|
static GameConfiguration *GetConfig();
|
|
|
|
};
|
|
|
|
|
|
|
|
GameConfiguration *GameManager::config = NULL;
|
2020-06-08 23:59:42 +03:00
|
|
|
unsigned GameManager::lastInputDirection = 0;
|
|
|
|
|
|
|
|
void GameManager::KeyPress(sf::Keyboard::Key keycode)
|
|
|
|
{
|
|
|
|
switch (keycode)
|
|
|
|
{
|
|
|
|
case sf::Keyboard::Key::Right: case sf::Keyboard::Key::D: GameManager::lastInputDirection = 0; break;
|
|
|
|
case sf::Keyboard::Key::Down: case sf::Keyboard::Key::S: GameManager::lastInputDirection = 1; break;
|
|
|
|
case sf::Keyboard::Key::Left: case sf::Keyboard::Key::A: GameManager::lastInputDirection = 2; break;
|
|
|
|
case sf::Keyboard::Key::Up: case sf::Keyboard::Key::W: GameManager::lastInputDirection = 3; break;
|
|
|
|
}
|
|
|
|
}
|
2020-06-08 15:51:54 +03:00
|
|
|
|
|
|
|
void GameManager::SetConfig(GameConfiguration &config)
|
|
|
|
{
|
|
|
|
GameManager::config = &config;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
GameConfiguration *GameManager::GetConfig()
|
|
|
|
{
|
|
|
|
return GameManager::config;
|
|
|
|
}
|