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

#if !defined(AFX_Explosion_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)
#define AFX_Explosion_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_

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

#include "AbstractCharacter.h"
namespace sf {
	namespace application {
		namespace effect {


			const int MAX_EXPLOSION = 2;
class Explosion : public sf::application::AbstractCharacter  
{
public:
	// LIFECYCLE //
	Explosion();
	virtual ~Explosion();
	// OPERATIONS //
	void initialize();
	// キャラクター移動
	void move(void);
	void hit(Character * const pDest);
	// テクスチャなどのロード
	static void load(void);
	static Character * const create(float x,float y ,float z,sf::application::scene::Game * const pGame,sf::application::Character * const pCharacter,int index);
	// ACCESS //
	sf::application::hit::Interface * const hitObj(void){return &mHitRect;};
	
	const float scaling(void) {return mScaling;};
	void scaling(const float value)
	{	mScaling = value;
		mObj.scalingX(mScaling);
		mObj.scalingY(mScaling);
	};

private:
	float mRadian;
	float mDx;
	float mDy;
	float mScaling;
	int mCount;
	sf::application::hit::HitRect mHitRect;
	sf::system::console::ObjRectangle mObj;
	static sf::system::console::sprite::PSprite mspSprite[MAX_EXPLOSION];
	static const sf::system::console::sprite::Info msSpriteInfo[MAX_EXPLOSION];
	static int msSoundID;
	bool mbHit;
	float mSpeed;
};
		}
	}
}

#endif // !defined(AFX_Explosion_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)
