//@STATE=作成中
//@DESCRIPTION ---------------------------------------------------------------
// ZK02.h: ZK02 クラスのインターフェイス
//	履歴：
// $Log: ZK02.h,v $
// Revision 1.1  2001/10/28 21:40:37  fujiwara
// DLLに分割
//
// Revision 1.2  2001/07/01 01:03:45  fujiwara
// const の見直し
// 配置エディタは途中経過
//
// Revision 1.1  2001/06/10 21:16:12  fujiwara
// 雑魚キャラ２追加
//
//@DESCRIPTION_END -----------------------------------------------------------
//@AUTHOR=S.F.
///////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_ZK02_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)
#define AFX_ZK02_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "AbstractEnemy.h"
namespace sf {
	namespace application {
		namespace enemy {

class ZK02 : public AbstractEnemy
{
public:
	// LIFECYCLE //
	ZK02();
	virtual ~ZK02();
	// OPERATIONS //
	void initialize();
	// キャラクター移動
	void move(void);
	void hit(Character * const pDest);
	void allBomb(void);
	// テクスチャなどのロード
	static void load(void);
	static void unload(void);
	static Character * const create(float x,float y ,float z,sf::application::scene::Game * const pGame,int index);
	// ACCESS //
	sf::application::hit::Interface * const hitObj(void){return &mHitRect;};

	static sf::system::console::sprite::Sprite * const pSprite(void){return mspSprite.get();};	
	
private:
	enum State {
		APPROACH,
		SHOOT,
		ESCAPE,
		DEAD
	} mState;

	void escape(void);
	void approach(void);
	void shoot(void);
	void die(void);

//	float mRadian;
	float mDx;
	float mDy;

	float mAnimCount;
	sf::application::hit::HitRect mHitRect;
	
	sf::system::console::ObjRectangle mObj;
	
	static sf::system::console::sprite::PSprite mspSprite;
	
	static const sf::system::console::sprite::Info msSpriteInfo;
	
	static const int SCORE; 

	bool mbHit;
	bool mbShoot;

	float mAccel;
	float mDeltaTime;
	float mDeltaTimeRev;
	float mDirSpeed,mDirCount;

};
		}
	}
}

#endif // !defined(AFX_ZK02_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)
