#ifndef GUARD_PIXELMANAGER_H #define GUARD_PIXELMANAGER_H #include #include "mingl/mingl.h" #include "mingl/shape/line.h" #include "mingl/shape/triangle.h" #include "mingl/shape/rectangle.h" #include "mingl/shape/circle.h" #include "mingl/gui/sprite.h" #include "utils.h" using namespace std; using namespace nsGraphics; class PixelManager{ public: MinGL& window; nsGui::Sprite background = nsGui::Sprite("./assets/bg.sl2"); // you cant create an empty sprite for some reasons explicit PixelManager(MinGL&); void drawInvaderA(const Position& baseVector, unsigned size, RGBAcolor& color); void drawInvaderB(const Position& baseVector, unsigned size, RGBAcolor& color); void drawInvaderC(const Position& baseVector, unsigned size, RGBAcolor& color); void drawPlayer(const unsigned x, unsigned width, const nsGraphics::RGBAcolor& color); void drawTorpedo(const Position& baseVector, unsigned width, const nsGraphics::RGBAcolor& color); void drawMissile(const Position& baseVector, unsigned width, const nsGraphics::RGBAcolor& color); void drawBackground(); unsigned showInitialMenu(); unsigned showDeathMenu(); unsigned getScreenHeight(); unsigned getScreenWidth(); void startFrame(); void endFrame(); void askPlayerNameMenu(playerID pID, string& name); // y will be negative sometimes, so not unsigned void displayGodBench(int y); void displayGodRightHand(const Position& pos); void displayGodLeftHand(const Position& pos); }; #endif