Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "ScreenManager.h"
- ScreenManager::ScreenManager(void)
- : SplashScreen(NULL), TitleScreen(NULL), currentScreen(NULL)
- {
- }
- ScreenManager::~ScreenManager()
- {
- }
- ScreenManager &ScreenManager::GetInstance()
- {
- static ScreenManager instance;
- return instance;
- }
- void ScreenManager::Initialize(SDL_Renderer *renderer)
- {
- SplashScreen = new GameScreen;
- TitleScreen = new GameScreen;
- if (SplashScreen) SplashScreen->LoadContent(renderer);
- if (TitleScreen) TitleScreen->LoadContent(renderer);
- currentScreen = SplashScreen;
- /*transition = false;
- fade.LoadContent(renderer);
- file.LoadContent("tests.cme", attributes, contents);*/
- }
- void ScreenManager::LoadContent(SDL_Renderer *renderer)
- {
- currentScreen->LoadContent(renderer); // not working without this too
- }
- void ScreenManager::Update(SDL_Renderer *renderer, SDL_Event &event)
- {
- if(currentScreen)
- {
- currentScreen->Update(renderer, event);
- }
- }
- void ScreenManager::Draw(SDL_Renderer *renderer)
- {
- if(currentScreen)
- {
- currentScreen->Draw(renderer);
- }
- }
- void ScreenManager::SetScreen(GameScreen *newScreen)
- {
- currentScreen = newScreen;
- }
- void ScreenManager::Transition(SDL_Renderer *renderer)
- {
- }
- Uint8 ScreenManager::GetAlpha()
- {
- return fade.getAlpha();
- }
- void ScreenManager::UnloadContent()
- {
- if (TitleScreen) TitleScreen->UnloadContent(); delete TitleScreen; TitleScreen = NULL;
- if (SplashScreen) SplashScreen->UnloadContent(); delete SplashScreen; SplashScreen = NULL;
- }
- //-------------------------------------------------------------------------------------------------
- #include "SplashScreen.h"
- SplashScreen::SplashScreen()
- {
- }
- SplashScreen::~SplashScreen()
- {
- }
- void SplashScreen::LoadContent(SDL_Renderer *renderer)
- {
- this->SplashImage = ScreenManager::GetInstance().GetSplashText();
- SplashImage.loadFromFile("lol.bmp", renderer);
- keys.push_back(SDLK_ESCAPE);
- /*file.LoadContent("Load/splash.cme", attributes, contents);
- for (int i = 0; i < attributes.size(); i++)
- {
- for (int j = 0; j < attributes[i].size(); j++)
- {
- std::string att = attributes[i][j];
- if (att == "Image")
- {
- SplashImage.loadFromFile(contents[i][j], renderer);
- }
- }
- }*/
- }
- void SplashScreen::UnloadContent()
- {
- GameScreen::UnloadContent();
- }
- void SplashScreen::Draw(SDL_Renderer *renderer)
- {
- SplashImage.render(0, 0, renderer);
- }
- void SplashScreen::Update(SDL_Renderer *renderer, SDL_Event &event)
- {
- input.Update(event);
- if (input.KeyPressed(keys))
- {
- ScreenManager::GetInstance().SetScreen(ScreenManager::GetInstance().GetTitleScreen());
- //ScreenManager::GetInstance().SetScreen(ScreenManager::GetInstance().GetSplashScreen()); <--- not working too
- std::cout << "KEY" << std::endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement