Files
TSE/TSE_Core/src/elements/Scene.hpp

31 lines
769 B
C++

#pragma once
#include <vector>
#include "Layer.hpp"
#include "interfaces/IWindow.hpp"
#include "Types.hpp"
namespace TSE
{
class Scene
{
private:
string name = "Unnamed";
std::vector<std::pair<string, Layer*>> layers;
public:
void Render(IRenderer& rnd, const IWindow& wnd);
void DoneRender();
void AddLayer(Layer* l);
void RemoveLayer(const string& name);
int GetLayerCount() const;
Layer* GetLayerAt(const int& i) const;
void SetName(const string& name);
string GetName();
void Update();
void RenameLayer(const string& oldName, const string& newName);
void MoveLayerUp(Layer* l);
void MoveLayerDown(Layer* l);
};
} // namespace TSE