#include "TextureManager.h"

TextureManager* TextureManager::instance = 0;

TextureManager& TextureManager::getInstance()
{
	if ( !instance )
	{
		instance = new TextureManager();
		instance->InitialiseInstence();
	}
	return *instance;
}

void TextureManager::destroy()
{
	if ( instance )
	{
		delete instance;
	}
	instance = 0;
}

void TextureManager::InitialiseInstence()
{
	tSpriteSheet = new sf::Texture;
	//tSpriteSheet(new sf::Texture);
	tBackGrounds = new sf::Texture;

	fnSpriteSheet = "resources/sprites/SpriteSheet.png";
	
	fnBackGrounds.push_back("resources/bckgnds/level01.png");
	fnBackGrounds.push_back("resources/bckgnds/level02.png");
	fnBackGrounds.push_back("resources/bckgnds/level03.png");
	fnBackGrounds.push_back("resources/bckgnds/level04.png");
	fnBackGrounds.push_back("resources/bckgnds/level05.png");

	
	tSpriteSheet->loadFromFile(fnSpriteSheet);
	tBackGrounds->loadFromFile(fnBackGrounds[0]);
}

sf::Texture* TextureManager::rSpriteSheet()
{
	return tSpriteSheet;
}

sf::Texture* TextureManager::rBackGrounds()
{
	return tBackGrounds;
}



TextureManager::~TextureManager()
{
	delete instance->tSpriteSheet;
	delete instance->tBackGrounds;
}
