#ifndef HEAT_SINK_HPP_
#define HEAT_SINK_HPP_

#include <Item/INuclearReactorComponent.hpp>
#include <Item/StatelessItem/BasicItem/BasicItem.hpp>

/**
 * @brief A heat sink, with high heat conductivity for the nuclear reactor.
 */
class HeatSink : public BasicItem, public INuclearReactorComponent
{
public:
    HeatSink(std::string name);

    virtual void describeInNuclearReactor(ItemStack &stack, std::ostream &os) override;
    virtual bool updateNuclearReactor(ItemStack &stack, MNuclearReactor &reactor, glm::ivec2 cellPos) override;
    virtual float getHeatConductivity(ItemStack &stack) override;
};

#endif