#pragma once #include "../Screen.h" class ScreenManager { public: static ScreenManager* GetInstance(); static void DestroyInstance(); void OpenScreen(Screen* screen); void CloseScreen(); Screen * GetCurrentScreen() const { return m_currentScreen; } bool IsScreenOpen() const; static ScreenManager* m_pInstance; static Screen* m_FuelScreen; static Screen* m_SellScreen; static Screen* m_GameOverScreen; private: ScreenManager() = default; ~ScreenManager(); void InitializeScreens(); bool m_IsScreenOpen { false }; Screen* m_currentScreen; bool m_AreScreensInitialized { false }; };