#ifndef DEBUGHELPER_H #define DEBUGHELPER_H #include #include #include #include using microsec = sf::Int64; class DebugHelper : public sf::Drawable { public: DebugHelper(bool init = true); void toggle(); void update(const microsec& microseconds); virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const override; void spawnGreenPulse(); void spawnRedPulse(); void spawnBluePulse(); private: bool _toggled; sf::Font _font; sf::Text _time_print; class Pulse : public sf::Drawable { public: Pulse(sf::Vector2f position, sf::Color fill_color); void appear(); void fade(); virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const override; private: sf::RectangleShape _pulse_shape; }; Pulse _red_pulse; Pulse _green_pulse; Pulse _blue_pulse; }; #endif // DEBUGHELPER_H