ContextManager.h 324 bytes
#pragma once
#include "GameContext.h"
#include "stack"
class ContextManager {
public:
    void reset(GameContext&& context);
    GameContext& get_current_context();
    void save_current_context();
    void restore_previous_context();
private:
    GameContext m_initial_context;
    std::stack<GameContext> m_contexts;