#include <vector>
#include "sre/SDLRenderer.hpp"
#include "LevelManager.h"
#include "Scene.h"
#include "Box2D/Dynamics/b2World.h"
#pragma once


class SceneManager {
public:
	SceneManager(std::string, std::string);
	~SceneManager() = default;
	//sre stuff
	glm::vec2 windowSize;
	sre::SDLRenderer r;
	glm::vec4 backgroundColor;

	std::vector <int> scenes;

	static SceneManager* GetInstance();
	void LoadScene(std::string,std::string);

	void update(float);
	void render();
	std::shared_ptr<sre::SpriteAtlas> atlas;
	static constexpr float32 timeStep = 1.0f / 60.0f;
	Scene currentScene;
	Scene * GetCurrentScene();

	void CurrentLevelOver();

	bool isFullscreen = false;

private:
	static SceneManager* instance;
	
	const float physicsScale = 100;
	SceneManager(){}

	void onKey(SDL_Event &event);
};
