//@STATE=作成中
//@DESCRIPTION ---------------------------------------------------------------
// Manager.cpp: Manager クラスのインプリメンテーション
//	履歴：
//@DESCRIPTION_END -----------------------------------------------------------
//@AUTHOR=S.F.
///////////////////////////////////////////////////////////////////////////////

#pragma warning( disable : 4786 )	//STLの警告外し

// メモリーリーク検出用
#include "sfdebug.h"

// System Includes //
#include <stack>
#include <list>
#include <vector>
#include <string>
#include <map>
#include <fstream>

// Project Includes //
#include "exception.h"
#include "singleton.h"
#include "system.h"
#include "console.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

#include "Scene.h"
#include "Manager.h"


using namespace sf::application::scene;
// ---------------------------------------------------------------------------
// Scene::Container クラス　実装部
// ---------------------------------------------------------------------------

// コンテナシングルトン -------------------------------------------------------
IMPLEMENT_SINGLETON(Container,Container);

// コンストラクタ -------------------------------------------------------------
Container::Container()
{
	;
}// Container()

// デストラクタ --------------------------------------------------------------- 
Container::~Container()
{
	SceneContainer::iterator it = mContainer.begin();

	while(it != mContainer.end())
	{
		if(*it != NULL){
			delete (*it);
		}
		it = mContainer.erase(it);
	}

}// ~Container()

IMPLEMENT_SINGLETON(DLLManager,DLLManager);

/*
// シーン生成メソッド（製作者表示) -----------------------------------------------
Scene * const AuthorParameter::createScene(bool bAddSceneContainer)
{
	Scene *pscene = new Author(this);
	if(bAddSceneContainer)
		Container::instance()->add(pscene);
	return pscene;
}//  AuthorParameter::createScene()

// シーン生成メソッド(フェードイン・アウト) ---------------------------------------
Scene * const FadeParameter::createScene(bool bAddSceneContainer)
{
	Scene *pscene = new Fade(this);
	if(bAddSceneContainer)
		Container::instance()->add(pscene);
	return pscene;
}//  FadeParameter::createScene()
*/
