#ifndef GUARD_GOODPIXELMANAGER_H #define GUARD_GOODPIXELMANAGER_H #include "pixelManager/pixelManager.h" /*! * @class GoodPixelManager * @brief Extension of the PixelManager class, which override * the draw methods to use sprites instead of shapes */ class GoodPixelManager : public PixelManager{ /*! * @brief loads sprites in parallel using multiple threads * @param[in] vec : We take his ownership, so * @fn void loadSprites(); */ void loadSprites(vector& tasks) override; /*! * @brief sprite of the player */ MySprite player; /*! * @brief sprite of the first invader */ MySprite invaderA; /*! * @brief sprite of the second invader */ MySprite invaderB; /*! * @brief sprite of the third invader */ MySprite invaderC; /*! * @brief sprite of the missile */ MySprite missile; /*! * @brief sprite of the torpedo */ MySprite torpedo; /*! * @brief sprite of the heart */ MySprite heart; void drawInvaderA(const Position& baseVector, unsigned size, const RGBAcolor& color) const override; void drawInvaderB(const Position& baseVector, unsigned size, const RGBAcolor& color) const override; void drawInvaderC(const Position& baseVector, unsigned size, const RGBAcolor& color) const override; void drawPlayer(unsigned x, unsigned width, const RGBAcolor& color) const override; void drawMissile(const Position& baseVector, unsigned width, const RGBAcolor& color) const override; void drawTorpedo(const Position& baseVector, unsigned width, const RGBAcolor& color) const override; void drawHeart(const Position& baseVector) const override; public: /*! * @brief constructor */ GoodPixelManager(MinGL& win); }; #endif