#pragma once
#include <string>

#include "SceneManager.h"

class Scene {
public:
    SceneManager& sceneManager;
    sf::Clock clock;
    std::string name;

    Scene(SceneManager& _sceneManager, std::string  _name) : sceneManager(_sceneManager), name(std::move(_name)) {};

    virtual ~Scene() = default;

    virtual void start();
    virtual void leave();
    virtual void update(float deltaTime);
    virtual void render(sf::RenderWindow& window);
    virtual void eventHandler(sf::Event& event);
};