#include "TextureManager.h"
TextureManager* TextureManager::instance = 0;
TextureManager& TextureManager::getInstance()
{
if ( !instance )
{
instance = new TextureManager();
instance->InitialiseInstence();
}
return *instance;
}
void TextureManager::destroy()
{
if ( instance )
{
if ( instance->tSpriteSheet )
delete instance->tSpriteSheet;
if ( instance->tBackGrounds )
delete instance->tBackGrounds;
if ( instance->tSplashScreen )
delete instance->tSplashScreen;
if ( instance->tSpriteSheetAlpha )
delete instance->tSpriteSheetAlpha;
delete instance;
}
instance = 0;
}
void TextureManager::InitialiseInstence()
{
// Initialise Splash Screen
tSplashScreen = new sf::Texture;
NtSplashScreen = "resources/textures/splash-screen.jpg";
tSplashScreen->loadFromFile(NtSplashScreen);
// Initialise Background Screens
tBackGrounds = new sf::Texture;
NtBackgrndSheet = "resources/textures/backgrnds.jpg";
tBackGrounds->loadFromFile(NtBackgrndSheet);
// Initialise Sprite Sheet for Game Objects
tSpriteSheet = new sf::Texture;
NtSpriteSheet = "resources/textures/Objects-AlphaNO.jpg";
tSpriteSheet->loadFromFile((NtSpriteSheet));
// Initialise Sprite Sheet for Game Objects Requiring a Alpha Channel
tSpriteSheetAlpha = new sf::Texture;
NtSpriteSheetAlpha = "resources/textures/Objects-Alpha.png";
tSpriteSheetAlpha->loadFromFile(NtSpriteSheetAlpha);
}
sf::Texture* TextureManager::rSpriteSheet()
{
return tSpriteSheet;
}
sf::Texture* TextureManager::rBackGrounds()
{
return tBackGrounds;
}
sf::Texture* TextureManager::rSplashScreen()
{
return tSplashScreen;
}
sf::Texture* TextureManager::rSpriteSheetAlpha()
{
return tSpriteSheetAlpha;
}
TextureManager::~TextureManager()
{
}