//@STATE=作成中
//@DESCRIPTION ---------------------------------------------------------------
// AuthorImpl.h: AuthorImpl クラスのインターフェイス
//	製作者表示シーンの実装部分
//　フェードイン→画面中心に、作者のロゴビットマップを表示→フェードアウト
// $Log: SceneAuthor.h,v $
// Revision 1.1  2001/10/28 21:40:37  fujiwara
// DLLに分割
//
// Revision 1.4  2001/07/09 20:30:09  fujiwara
// 例外処理の組み込み
//
// Revision 1.3  2001/07/01 01:03:44  fujiwara
// const の見直し
// 配置エディタは途中経過
//
// Revision 1.2  2001/05/12 00:49:09  fujiwara
// ＣＶＳを導入し、ログ表示を追加
//
//@DESCRIPTION_END -----------------------------------------------------------
//@Author=S.F.
// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
///////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_Author_H__F60D1AEE_75EC_4C3B_B66F_B70BF374DCE5__INCLUDED_)
#define AFX_Author_H__F60D1AEE_75EC_4C3B_B66F_B70BF374DCE5__INCLUDED_

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

#include "Scene.h"
namespace sf {
	namespace application {
		namespace scene {
			
			class AuthorImpl : public AbstractScene 
			{
			public:
				enum STATE {
					INITIALIZE,
					START,
					MAIN,
					END
				};

				// LIFECYCLE //
				// コンストラクタ
				AuthorImpl();
				// デストラクタ
				virtual ~AuthorImpl();
				// OPERATOR //
				// OPERATIONS //
				void move(void);
				void endOfScene(Scene * const pScene);//シーンの終了
				void exitKeyPressed(Scene * const pScene);
				// ACCESS //
				virtual const TYPE type() const{return AUTHOR;};
				// INQUIRY //
				static Scene * create(void){return new AuthorImpl;};
			private:
				
				DWORD mTimer;
				std::string mMessage;
				sf::system::console::ObjRectangle mAuthorObj;
				sf::system::console::sprite::Sprite *mpSprite;
				STATE mState;
				bool mbInitialized;
				static const int PERIOD;

			};
		}// scene
	}// application
}// sf
#endif // !defined(AFX_Author_H__F60D1AEE_75EC_4C3B_B66F_B70BF374DCE5__INCLUDED_)
