mirror of
https://github.com/HowestDAE/dae16-VerhulstBram.git
synced 2025-12-16 22:41:48 +01:00
Add alot of memory leak fixes
This commit is contained in:
@@ -40,6 +40,10 @@ FuelScreen::FuelScreen(const std::string& filePath, Vector2f pos, Vector2f size,
|
||||
this->AddButton(fillTankButton);
|
||||
|
||||
}
|
||||
|
||||
FuelScreen::~FuelScreen() {
|
||||
}
|
||||
|
||||
void FuelScreen::Draw() const {
|
||||
Screen::Draw();
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ class FuelScreen : public Screen
|
||||
public:
|
||||
|
||||
FuelScreen(const std::string& filePath, Vector2f pos, Vector2f size, TextureManager* manager);
|
||||
virtual ~FuelScreen() override;
|
||||
|
||||
virtual void Draw() const override;
|
||||
virtual void Update(float elapsedSecs) override;
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
#include "utils.h"
|
||||
ScreenManager* ScreenManager::m_pInstance = nullptr;
|
||||
|
||||
Screen* ScreenManager::Fuel{ nullptr };
|
||||
Screen* ScreenManager::SellScreen{ nullptr };
|
||||
Screen* ScreenManager::m_FuelScreen{ nullptr };
|
||||
Screen* ScreenManager::m_SellScreen{ nullptr };
|
||||
|
||||
ScreenManager* ScreenManager::GetInstance() {
|
||||
|
||||
@@ -20,6 +20,10 @@ ScreenManager* ScreenManager::GetInstance() {
|
||||
return m_pInstance;
|
||||
}
|
||||
|
||||
void ScreenManager::DestroyInstance() {
|
||||
delete m_pInstance;
|
||||
}
|
||||
|
||||
void ScreenManager::OpenScreen(Screen* screen) {
|
||||
if(m_IsScreenOpen == false) {
|
||||
m_currentScreen = screen;
|
||||
@@ -33,14 +37,18 @@ void ScreenManager::CloseScreen() {
|
||||
}
|
||||
|
||||
}
|
||||
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 };
|
||||
Fuel = new FuelScreen { "gui/fuel/background.png", fuelScreenCenter, Vector2f { 0, 0 }, TextureManager::GetInstance() };
|
||||
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 };
|
||||
SellScreen = new Screen { "gui/sell/background.png", sellScreenCenter, sellScreenSize, TextureManager::GetInstance() };
|
||||
m_SellScreen = new Screen { "gui/sell/background.png", sellScreenCenter, sellScreenSize, TextureManager::GetInstance() };
|
||||
|
||||
//m_Button = Button { "gui/close.png", closeButtonPos, closeButtonSize, TextureManager::GetInstance() };
|
||||
}
|
||||
|
||||
@@ -7,19 +7,21 @@ class ScreenManager
|
||||
{
|
||||
public:
|
||||
static ScreenManager* GetInstance();
|
||||
static void DestroyInstance();
|
||||
|
||||
void OpenScreen(Screen* screen);
|
||||
void CloseScreen();
|
||||
|
||||
Screen* GetCurrentScreen() { return m_currentScreen; }
|
||||
Screen* GetCurrentScreen() const { return m_currentScreen; }
|
||||
|
||||
static ScreenManager* m_pInstance;
|
||||
|
||||
|
||||
static Screen* Fuel;
|
||||
static Screen* SellScreen;
|
||||
static Screen* m_FuelScreen;
|
||||
static Screen* m_SellScreen;
|
||||
private:
|
||||
ScreenManager() = default;
|
||||
~ScreenManager();
|
||||
|
||||
void InitializeScreens();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user