Files
dae16-VerhulstBram-GameProject/Game/Gui/Screen.cpp
2024-05-14 12:28:37 +02:00

32 lines
793 B
C++

#include "pch.h"
#include "Screen.h"
Screen::Screen(const std::string& filePath, Vector2f pos, Vector2f size, TextureManager* manager): m_Position(pos), m_Size(size) {
if(!filePath.empty()) {
m_Background = manager->GetTexture(filePath);
} else {
m_Background = nullptr;
}
}
Screen::~Screen() {
for (GuiElement* b : m_Elements) {
delete b;
}
}
void Screen::Update(float elapsedSecs) {
for (GuiElement* b : m_Elements) {
b->Update(elapsedSecs);
}
}
void Screen::Draw() const {
if(m_Background != nullptr) { //Incase there is no background
Rectf dest = Rectf(m_Position, m_Size);
Rectf src = Rectf(0, 0, m_Background->GetWidth(), m_Background->GetHeight());
m_Background->Draw(dest, src, false);
}
for (GuiElement* GuiElement : m_Elements) {
GuiElement->Draw();
}
}