#pragma once
#include <vector>

#include "GuiButton.h"
#include "structs.h"
#include "Texture.h"
#include "../TextureManager.h"

class Screen
{
public:
	Screen() = default;
	Screen(const std::string& filePath, Vector2f pos, Vector2f size, TextureManager* manager);

	virtual ~Screen();

	void AddElement(GuiElement* element) { m_Elements.push_back(element); }

	virtual void Update(float elapsedSecs);
	virtual void Draw() const;
private:
	Vector2f m_Position;
	Vector2f m_Size;

	Texture* m_Background{ nullptr };

	std::vector<GuiElement*> m_Elements;
};
