#ifndef LEVELBUILDER_H
#define LEVELBUILDER_H

#include <memory>

class Controller;

class LevelBuilder
{
public:
    explicit LevelBuilder();
    virtual ~LevelBuilder() = 0;

    virtual void init() = 0;
    virtual void save() = 0;
    virtual void load() = 0;

    virtual const std::shared_ptr<Controller>& getStartingController() const = 0;
};

#endif // LEVELBUILDER_H