#pragma once

#include "Area.h"
#include "ChunkModelBuilder.h"

class ChunkFluidModel : public ChunkModelBuilder
{
private:
    __int64 calculateLight(Framework::Vec3<float> vertexPos,
        Framework::Vec3<int> blockPos,
        Direction direction);
    bool isPartOfGroundModel(Framework::Vec3<int> location, int directionIndex);

public:
    ChunkFluidModel(FactoryCraftModel* target, Chunk* zChunk);
    void buildModel() override;
    bool updateLightning() override;
    bool isTransparent() const override;
    bool isPartOfModel(Block* zBlock) const override;
};