//@STATE=作成中
//@DESCRIPTION ---------------------------------------------------------------
// StartImpl.h: StartImpl クラスのインターフェイス
//	履歴：
// $Log: StartImpl.h,v $
// Revision 1.1  2001/10/28 21:40:37  fujiwara
// DLLに分割
//
// Revision 1.4  2001/07/09 20:30:10  fujiwara
// 例外処理の組み込み
//
// Revision 1.3  2001/07/01 01:03:44  fujiwara
// const の見直し
// 配置エディタは途中経過
//
// Revision 1.2  2001/05/12 00:48:55  fujiwara
// ＣＶＳを導入し、ログ表示を追加
//
//@DESCRIPTION_END -----------------------------------------------------------
//@AUTHOR=S.F.
///////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_START_H__60D87C34_6643_4E80_B0EB_3F418B3889C7__INCLUDED_)
#define AFX_START_H__60D87C34_6643_4E80_B0EB_3F418B3889C7__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "AbstractScene.h"
namespace sf {
	namespace application {
		namespace scene {


class StartImpl : public AbstractScene
{
	// LIFECYCLE //
public:
	void endOfScene(Scene * const pScene);
	void exitKeyPressed(Scene * const pScene);
	StartImpl();
	virtual ~StartImpl();
	// OPERATORS //
	// OPERATIONS //
	void move(void);
	// ACCESS //
	const TYPE type() const {return START;};
	// INQUIRY //
private:
	void printMessage();
	bool end();
	bool main();
	bool fadeIn();
	void initialize();
	enum STATE {
		INITIALIZE,
		FADE_IN,
		MAIN,
		END
	} mState;

	int mTimer,mTimer1;
	Scene *mpScene;

	static const int PERIOD;
	static const char BGM_FILENAME[sf::system::MAX_PATH_]; 
};
		}
	}
}

#endif // !defined(AFX_START_H__60D87C34_6643_4E80_B0EB_3F418B3889C7__INCLUDED_)
