#pragma once #include "renderer.hpp" #include "glclasses.hpp" #include "game.hpp" #include "state/trace.hpp" #include "state/object.hpp" #include "state/missile.hpp" #include "state/player.hpp" #include "state/planet.hpp" #include "state/ship.hpp" #include "state/explosion.hpp" namespace endofthejedi { class RendererPolygon2d : public Renderer { private: void drawCircle(float x, float y, float radius, float r, float g, float b, int numSides = 12); void drawShip(const glm::vec2 &pos, float radius); void drawPlanet(const glm::vec2 &pos, float radius); void drawMissile(const glm::vec2 &pos); void drawTrace(const game::Trace *trace); void drawExplosion(const game::Explosion *explosion); protected: public: void setup() override; void render(const game::State *state) override; }; }