An error occurred while loading the file. Please try again.
-
Ушкова Диана Петровна authored5dc95ac1
#pragma once
#include "IState.h"
#include "../Drawable/Maze/Maze.h"
#include "../Drawable/Maze/MenuGame.h"
#include "../Context/Context.h"
#include "../Event/IGameEvent.h"
class GameState: public IState, public IWindowKeeper {
public:
GameState(IStateManager& state_manager, const sf::VideoMode& video_mode, const std::string& window_title);
void event_handling() override;
void update() override;
void render() override;
bool do_step() override;
void set_maze(Maze&& maze) {m_maze = std::move(maze); }
void set_context(GameContext&& context);
bool process_key_pressed(sf::Keyboard::Key code);
const ScoreCount& get_score_count() const {return *m_score_count_one, *m_score_count_two; }
private:
Maze m_maze;
MenuGame m_menu;
ContextManager m_context_manager;
std::vector<std::unique_ptr<IGameEvent>> m_events;
std::unique_ptr<ScoreCount> m_score_count_one;
std::unique_ptr<ScoreCount> m_score_count_two;
};