#pragma once #include "../../headers/gameobject.hpp" namespace asloengine { class GridContainer : public GameObject { public: std::vector objects; bool needs_clean = false; sf::Vector2u grid_size; sf::Vector2f cell_size; GridContainer(sf::String _name, sf::Vector2u _grid_size = sf::Vector2u(0, 0), sf::Vector2f _cell_size = sf::Vector2f(0, 0)); virtual ~GridContainer() override; virtual void update_positions(); virtual void add_object(GameObject *object); virtual void remove_object(int index); virtual void draw() override; virtual void on_start() override; virtual void on_update(float delta_time) override; virtual void clean(); virtual void on_destroy() override; }; }