SuperSpaceInvaderTurboApoca.../headers/pixelManager.h
2022-01-04 09:48:00 +01:00

49 lines
1.4 KiB
C++

#ifndef GUARD_PIXELMANAGER_H
#define GUARD_PIXELMANAGER_H
#include <string>
#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