2024-02-22 13:39:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* @brief Класс StateManager управляет переходами между различными состояниями игры.
|
|
|
|
|
*/
|
2024-02-14 17:13:19 +03:00
|
|
|
|
class StateManager {
|
|
|
|
|
public:
|
2024-02-22 13:39:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* @brief Добавляет новое состояние в стек состояний.
|
|
|
|
|
* @param state Состояние, которое нужно добавить.
|
|
|
|
|
*/
|
2024-02-14 17:13:19 +03:00
|
|
|
|
void pushState(/* состояние */);
|
|
|
|
|
|
2024-02-22 13:39:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* @brief Удаляет текущее состояние, возвращаясь к предыдущему.
|
|
|
|
|
*/
|
2024-02-14 17:13:19 +03:00
|
|
|
|
void popState();
|
|
|
|
|
|
2024-02-22 13:39:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* @brief Обновляет текущее состояние.
|
|
|
|
|
* @param deltaTime Время, прошедшее с предыдущего обновления, в секундах.
|
|
|
|
|
*/
|
2024-02-14 17:13:19 +03:00
|
|
|
|
void update(float deltaTime);
|
|
|
|
|
|
2024-02-22 13:39:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* @brief Рендерит текущее состояние.
|
|
|
|
|
*/
|
2024-02-14 17:13:19 +03:00
|
|
|
|
void render();
|
|
|
|
|
};
|