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

#include "eLife.h"
#include "../WorldManager.h"

eLife::eLife()
{
	real = true;
	toDelete = false;
	stat = false;
}
   	
eLife::~eLife()
{
   
}

void eLife::Load()
{
	rect.x1 = 0;
   rect.y1 = 0;
   rect.x2 = 8;
   rect.y2 = 8;
   
   //Chargement du spritesheet
   ulSetTransparentColor(RGB15(31, 0, 31));
	spr.assign(worldMan->resMan->LoadImage("efs:/Powerup_Life.png", UL_IN_VRAM, UL_PF_PAL4));
	ulDisableTransparentColor();
		
	//Paramètrage des animations
	spr.setFrameWH(8, 8);
	spr.addAnim(0, 0, 4, 3);     //Anim : Idle
}
   
void eLife::Draw(int layer)
{
   //On le perso
   if(actif && layer == 0)
   {
      //On affiche le sprite
   	spr.setXY(x_screen, y_screen);
   	spr.play();
   	spr.draw();
	}
}
   
void eLife::Update()
{
   //Calcul de la position écran de l'entité
   x_screen = x - worldMan->curLevel->map->scrollX;
	y_screen = y - worldMan->curLevel->map->scrollY;
	
	//On vérifie si l'informateur est à l'écran
   if(x_screen < (0-8) || x_screen > (256+8) || y_screen < (0-8) || y_screen > (192+8))
   	actif = false;
   else
   	actif = true;
   			
}

void eLife::CheckInteractions()
{
	if(actif)
	{
		if(RectCollision(x, y, &rect, UNFIX(worldMan->hero->x), UNFIX(worldMan->hero->y), &worldMan->hero->rect))
		{
		 	//On augmente la puissance du saut
		 	worldMan->hero->life += 5;
		 	toDelete = true;
		}   
	}
			
}   

void eLife::Destroy()
{
   
}
