mirror of
https://github.com/HowestDAE/dae16-VerhulstBram.git
synced 2025-12-16 21:01:48 +01:00
56 lines
1.7 KiB
C++
56 lines
1.7 KiB
C++
#include "pch.h"
|
|
#include "ScreenManager.h"
|
|
|
|
#include "FuelScreen.h"
|
|
#include "utils.h"
|
|
ScreenManager* ScreenManager::m_pInstance = nullptr;
|
|
|
|
Screen* ScreenManager::m_FuelScreen{ nullptr };
|
|
Screen* ScreenManager::m_SellScreen{ nullptr };
|
|
|
|
ScreenManager* ScreenManager::GetInstance() {
|
|
|
|
if(m_pInstance == nullptr) {
|
|
m_pInstance = new ScreenManager();
|
|
}
|
|
if(!m_pInstance->m_AreScreensInitialized) {
|
|
m_pInstance->InitializeScreens(); //TODO: Ask if this a hack
|
|
m_pInstance->m_AreScreensInitialized = true;
|
|
}
|
|
return m_pInstance;
|
|
}
|
|
|
|
void ScreenManager::DestroyInstance() {
|
|
delete m_pInstance;
|
|
}
|
|
|
|
void ScreenManager::OpenScreen(Screen* screen) {
|
|
if(m_IsScreenOpen == false) {
|
|
m_currentScreen = screen;
|
|
m_IsScreenOpen = true;
|
|
}
|
|
}
|
|
void ScreenManager::CloseScreen() {
|
|
if(m_IsScreenOpen == true) {
|
|
m_IsScreenOpen = false;
|
|
m_currentScreen = nullptr;
|
|
}
|
|
|
|
}
|
|
ScreenManager::~ScreenManager() {
|
|
delete m_FuelScreen;
|
|
delete m_SellScreen;
|
|
}
|
|
void ScreenManager::InitializeScreens() {
|
|
Vector2f fuelScreenSize = Vector2f { 492, 396 };
|
|
Vector2f fuelScreenCenter = Vector2f { utils::GetViewport().x / 2 - fuelScreenSize.x / 2, utils::GetViewport().y / 2 - fuelScreenSize.y / 2 };
|
|
m_FuelScreen = new FuelScreen { "gui/fuel/background.png", fuelScreenCenter, Vector2f { 0, 0 }, TextureManager::GetInstance() };
|
|
|
|
Vector2f sellScreenSize = Vector2f { 533, 398 };
|
|
Vector2f sellScreenCenter = Vector2f { utils::GetViewport().x / 2 - sellScreenSize.x / 2, utils::GetViewport().y / 2 - sellScreenSize.y / 2 };
|
|
m_SellScreen = new Screen { "gui/sell/background.png", sellScreenCenter, sellScreenSize, TextureManager::GetInstance() };
|
|
|
|
//m_Button = Button { "gui/close.png", closeButtonPos, closeButtonSize, TextureManager::GetInstance() };
|
|
}
|
|
|