#pragma once #include #include "Layer.hpp" #include "interfaces/IWindow.hpp" #include "Types.hpp" namespace TSE { class Scene { private: string name = "Unnamed"; std::vector> 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