Files
prog2/Game/GameManager.cpp
2024-05-29 00:00:29 +02:00

66 lines
1.5 KiB
C++

#include "pch.h"
#include "GameManager.h"
GameManager* GameManager::m_pInstance = nullptr;
GameManager& GameManager::GetInstance() {
if (m_pInstance == nullptr) {
m_pInstance = new GameManager();
}
return *m_pInstance;
}
void GameManager::SetMainScreen(MainScreen* pMainScreen) {
m_pMainScreen = pMainScreen;
//TODO: not the best but ¯\_(ツ)_/¯
}
void GameManager::SetFuel(float fuel) {
m_Fuel = fuel;
//Limit to 0 - MAXa
}
float GameManager::GetFuel() const {
return m_Fuel;
}
void GameManager::DecreaseFuel(float fuel) {
m_Fuel -= fuel;
m_Fuel = std::max(0.0f, m_Fuel);
}
void GameManager::AddFuel(float fuel) {
m_Fuel += fuel;
}
void GameManager::SetHullIntegrity(int hullIntegrity) {
m_HullIntegrity = hullIntegrity;
}
int GameManager::GetHullIntegrity() const {
return m_HullIntegrity;
}
void GameManager::DamageHull(int damage) {
m_HullIntegrity -= damage;
}
void GameManager::SetScore(int score) {
m_Score = score;
}
int GameManager::GetScore() const {
return m_Score;
}
void GameManager::IncreaseScore(int score) {
m_Score += score;
}
void GameManager::SetMoney(int money) {
m_Money = money;
}
int GameManager::GetMoney() const {
return m_Money;
}
void GameManager::IncreaseMoney(int money) {
m_Money += money;
}
void GameManager::Update(float elapsedSecs) {
m_pMainScreen->SetFuelMeterValue(this->GetMaxFuel() - m_Fuel);
m_pMainScreen->SetHullMeterValue(m_HullIntegrity);
m_pMainScreen->SetScore(std::to_string(m_Score));
}
int GameManager::GetMaxFuel() {
return 100; //TODO: change if i ever add upgrades
}