Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- #include <string>
- #include <vector>
- #include <SFML/Graphics/Drawable.hpp>
- #include "Background.h"
- #include "Game.h"
- namespace station {
- class BackgroundManager : sf::Drawable
- {
- public:
- /*BackgroundManager needs GameDataReference to load textures
- with the asset manager*/
- BackgroundManager(GameDataReference gameDataReference);
- /*USE THIS TO LOAD BACKGROUND AND WRAP IT INTO THE SPRITE
- activeBackground POINTS TO*/
- void selectActiveBackground(const std::string &name);
- /*USE TO DRAW NEXT TEXTURE OF BACKGROUND*/
- void draw(sf::RenderTarget &target, sf::RenderStates states) const override;
- /*CHANGE FILEPATH OF BACKGROUNDS FOLDER
- (default "Resources/Backgrounds/")*/
- void changeFilePath(const std::string &filePath);
- private:
- void updateActiveBackgroundSprite();
- bool backgroundLoaded(const std::string &name);
- void loadBackground(const std::string &name);
- std::string filePath;
- GameDataReference _gameDataReference;
- std::vector<BackgroundReference> _backgrounds;
- BackgroundReference activeBackground;
- sf::Sprite* activeBackgroundSprite;
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment