#pragma once #include #include #include "brick.hpp" class BrickGrid { private: inline static const sf::Color color {100, 200, 250}; sf::FloatRect m_border; int m_numBrickColumns; int m_numBrickRows; std::vector m_bricks; sf::RectangleShape m_brickShape; int m_numActiveBricks; public: BrickGrid(); BrickGrid(sf::FloatRect borders, int numBrickColumns, int numBrickRows); sf::FloatRect getBorder() const; sf::Vector2i getGridSizes() const; sf::Vector2f getBrickSizes() const; bool isBrickActive(std::pair indexes) const; void deactivateBrick(std::pair indexes); int getNumActiveBricks() const; void draw(sf::RenderWindow& window); };