/*****************************/
/* Inside The Machine - MKS  */
/*****************************/

//Jaunty entity File
#ifndef _EBOSS2_H
#define _EBOSS2_H

//Includes
#include "Entity.h"
#include "../µsprite.h"

//Defines

//Paramètres du boss
// TYPE : static
// p1 et p2 : 
// Autres :

struct sBalls2
{
	s32 x, y;
	s32 vx, vy;
	sHitBoxRect rect;
	sHitBoxRect rectbig;
	bool free;
	int type;
	u16 angle;
	u16 myangle;
};
   
class eBoss2 : public CEntity
{
   public:
   	eBoss2();
   	virtual ~eBoss2();
   	virtual void Draw(int layer);
	   virtual void Update();
	   virtual void Destroy();
	   virtual void Load();
	   virtual void CheckInteractions();
	   
	public:
	   //Sprites
	CSprite body;            //Corps du boss
	CSprite explosion;       //Explosion
	CSprite sprFx2;          //FX no 2
	CSprite ball;            //Petite Boulette
	CSprite bigball;         //Grosse Boulette :noel:
	bool isBossActivated;    //Définit si le boss est actif
	int sequence;         //Seq1 : 0 Idle - 1 Balls - 0 Idle - 2 Ciblage Big Ball
	int timer;            //Seq2 : 0 Idle - 1 Balls - 0 Idle - 2 Ciblage Big Ball - 3 H-Rush
							    //Phase bien déterminée
							    //Life > 100
							    //Life < 100
	bool canFight, hit;
	u16 angle;            //Angle d'orientation du boss
	int hitTime;
	sBalls2 balls[12];    //Boulettes que tire l'ennemi
	int explosionH;
	int explosionAlpha;
	int newAngle;
	int dontHitTime;
};
#endif
