Zenn_

BackgroundManager.h

Nov 17th, 2018
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.11 KB | None | 0 0
  1. #pragma once
  2. #include <string>
  3. #include <vector>
  4. #include <SFML/Graphics/Drawable.hpp>
  5. #include "Background.h"
  6. #include "Game.h"
  7.  
  8. namespace station {
  9.     class BackgroundManager : sf::Drawable
  10.     {
  11.     public:
  12.         /*BackgroundManager needs GameDataReference to load textures
  13.         with the asset manager*/
  14.         BackgroundManager(GameDataReference gameDataReference);
  15.  
  16.         /*USE THIS TO LOAD BACKGROUND AND WRAP IT INTO THE SPRITE
  17.         activeBackground POINTS TO*/
  18.         void selectActiveBackground(const std::string &name);
  19.  
  20.         /*USE TO DRAW NEXT TEXTURE OF BACKGROUND*/
  21.         void draw(sf::RenderTarget &target, sf::RenderStates states) const override;
  22.  
  23.         /*CHANGE FILEPATH OF BACKGROUNDS FOLDER
  24.         (default "Resources/Backgrounds/")*/
  25.         void changeFilePath(const std::string &filePath);
  26.     private:
  27.         void updateActiveBackgroundSprite();
  28.  
  29.         bool backgroundLoaded(const std::string &name);
  30.  
  31.         void loadBackground(const std::string &name);
  32.  
  33.         std::string filePath;
  34.         GameDataReference _gameDataReference;
  35.         std::vector<BackgroundReference> _backgrounds;
  36.         BackgroundReference activeBackground;
  37.         sf::Sprite* activeBackgroundSprite;
  38.     };
  39. }
Advertisement
Add Comment
Please, Sign In to add comment