// // Created by Wouter Groeneveld on 26/07/18. // #ifndef GBA_SPRITE_ENGINE_SPRITE_MANAGER_H #define GBA_SPRITE_ENGINE_SPRITE_MANAGER_H #include #include "sprite.h" #include class SpriteManager { private: bool initialized; std::vector sprites; void copyOverSpriteOAMToVRAM(); void copyOverImageDataToVRAM(); public: int getSpriteSize() { return sprites.size(); } void add(const Sprite& sprite); void set(std::vector sprites); void persist(); // copies over image and palette data to VRAM, modifies sprite OAM indiches void render(); // copies over OAM buffer to OAM RAM, called in game loop }; #endif //GBA_SPRITE_ENGINE_SPRITE_MANAGER_H