// // Created by Benjamin on 1/30/2022. // #ifndef SFML_TEMPLATE_PLACEABLE_H #define SFML_TEMPLATE_PLACEABLE_H #include #include "Group.h" class Placeable : public Sprite { protected: bool placing = true; std::vector collideLayers; Group *collideGroup; std::function uncommand; Placeable **inHand; float reach; int price; int* energy; bool isColliding(); public: Placeable(const sf::Texture &, float, float, float, int, float, int, int*, Placeable **, std::vector&, Group *, Sprite *, const std::function &); void setReach(float reach); void setCommand(const std::function &); bool isPlacing() const; std::function command; void update() override; void click() override; void noClick() override; }; #endif //SFML_TEMPLATE_PLACEABLE_H