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

//Jaunty entity File
#ifndef _EBOSS1Y_H
#define _EBOSS1Y_H

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

//Defines

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

struct sBalls
{
	int x, y;
	int vx, vy;
	sHitBoxRect rect;
	bool free;  
};
   
class eBoss1 : public CEntity
{
   public:
   	eBoss1();
   	virtual ~eBoss1();
   	virtual void Draw(int layer);
	   virtual void Update();
	   virtual void Destroy();
	   virtual void Load();
	   virtual void CheckInteractions();
	   
	public:
	   //Sprites
	CSprite eye;        //Sprite de l'oeil
	CSprite body;       //Sprite du corps
	CSprite miss;       //Missile autoguidé
	CSprite laserElem;  //Corps du laser
	CSprite laserExt;   //Extremité du laser
	CSprite explosion;  //Explosion
	CSprite sprFx2;       //FX no 2
	sHitBoxRect laserHitbox; //Hitbox du laser
	int orix;           //Position originale en x
	
	bool isBossActivated;
	int sequence;       //0 Idle, 1 Balls, 2 Laser, 3 Dash --- Le boss ne peut être touché que durant sa phase d'idle
	int timer;          //Idle : 3 secs, Laser : 5 secs, Dash : 1 sec, Balls : 5 secs
							  //Phase bien déterminée
							  //Life > 50 : Idle - Balls - Idle - Laser
							  //Life < 50 : Idle - Balls (fast) - Idle - Laser (fast) - Dash
	bool canFight, hit;
	bool isDashing;
	int hitTime;
	sBalls balls[12];    //Boulettes que tire l'ennemi
	int laserW, laserAlpha;
	int explosionH;
	int explosionAlpha;
	
	   
};
#endif
