#include "SynEngine.hpp" class GameConfiguration; class GameManager { private: static GameConfiguration *config; static unsigned lastInputDirection; public: static void KeyPress(sf::Keyboard::Key); static void SetConfig(GameConfiguration &); static GameConfiguration *GetConfig(); }; GameConfiguration *GameManager::config = NULL; 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; } } void GameManager::SetConfig(GameConfiguration &config) { GameManager::config = &config; } GameConfiguration *GameManager::GetConfig() { return GameManager::config; }