#include "LevelBuilder.h"
#include "Box2D/Dynamics/b2World.h"

#pragma once

class LevelManager
{
public:
	LevelManager();
	~LevelManager() = default;

	int score;
	float time;
	void Start(
		Event<void(float)>*,
		Event<void(sre::SpriteBatch::SpriteBatchBuilder&)>*,
		Event<void()>*,
		Event<void(SDL_Event&)>*,
		std::shared_ptr<b2World>,
		std::string
	);
	
	Level currentLevel;
	int currentWorldId;
	void DeleteLevel();
	void NextLevel(
		Event<void(float)>* ,
		Event<void(sre::SpriteBatch::SpriteBatchBuilder&)>* ,
		Event<void()>* ,
		Event<void(SDL_Event&)>* ,
		std::shared_ptr<b2World> );
private: 
	std::string defaultLevelName;
};