#ifndef LIVE_SCULPTOR_HPP_
#define LIVE_SCULPTOR_HPP_

#include <Decoration/ISculptor.hpp>
#include <World/LocalWorld/LocalWorld.hpp>

/**
 * @brief Implementation of `ISculptor` for sculpting in an existing `LocalWorld`.
 */
class LiveSculptor final : public ISculptor
{
private:
    LocalWorld &world;
    bool ready = true;

public:
    LiveSculptor(LocalWorld &world, glm::ivec3 basePos, int maxHeight);
    
    bool isReady();

    virtual void place(glm::ivec3 pos, std::string name, uint8_t meta) override;
};

#endif