//RenderJeu.h

int BoucleRenderJeu()
{
	SDL_Event event;
	Moteur.RajoutFondu(SDL_GetTicks(), SDL_GetTicks() + 1000, 0, 0, 0, 0, 0, 0, 0, 255);
	Uint32 AlphaPause, LastAlphaPause; 

		while (continuer && nbRender == RENDER_JEU)
		{
       	while(SDL_PollEvent(&event))
       	{
				switch(event.type)
				{
               case SDL_QUIT:
						continuer = false;
						break;

					case SDL_VIDEORESIZE:
						Moteur.ResizeWindow(event.resize.w, event.resize.h);
						break;

					case SDL_KEYDOWN:                    			
						if(event.key.keysym.sym == SDLK_ESCAPE) continuer = false;
						if(event.key.keysym.sym == SDLK_RIGHT) PersoPrincipal->ModifTouche(TOUCHE_DROITE, true);
						if(event.key.keysym.sym == SDLK_LEFT) PersoPrincipal->ModifTouche(TOUCHE_GAUCHE, true);
						if(event.key.keysym.sym == SDLK_UP) PersoPrincipal->ModifTouche(TOUCHE_HAUT, true);
						if(event.key.keysym.sym == SDLK_DOWN) PersoPrincipal->ModifTouche(TOUCHE_BAS, true);
						if(event.key.keysym.sym == SDLK_SPACE) PersoPrincipal->ModifTouche(TOUCHE_ATTAQUE, true);
                  		break;

					case SDL_KEYUP:                    			
						if(event.key.keysym.sym == SDLK_RIGHT) PersoPrincipal->ModifTouche(TOUCHE_DROITE, false);
						if(event.key.keysym.sym == SDLK_LEFT) PersoPrincipal->ModifTouche(TOUCHE_GAUCHE, false);
						if(event.key.keysym.sym == SDLK_UP) PersoPrincipal->ModifTouche(TOUCHE_HAUT, false);
						if(event.key.keysym.sym == SDLK_DOWN) PersoPrincipal->ModifTouche(TOUCHE_BAS, false);
						if(event.key.keysym.sym == SDLK_SPACE) PersoPrincipal->ModifTouche(TOUCHE_ATTAQUE, false);
						if(event.key.keysym.sym == SDLK_p)
						{
							JeuEnPause = !JeuEnPause;
							AlphaPause = 0;
							LastAlphaPause = SDL_GetTicks();
						}
                   		break;

					default:
						break;

           		}
       	}

		Moteur.DebutDessin();

		Moteur.AfficheTexture(ImgArrierePlan, 0, 0, 800, 600, 255, 255, 255);
		Moteur.AfficheTexture(ImgMotifArrierePlan, 300, 300, 100, 100, 255, 255, 255);
		Map.RenderMap(PersoPrincipal->ReturnPosX(), PersoPrincipal->ReturnPosY());
		
		for(int i = 0; i < Personnages.size(); ++i)
		{
			Personnages[i]->DessinePerso();
			if(Personnages[i]->ReturnVie() <= 0)
			{
				Personnages.erase(Personnages.begin() + i);
				--i;
			}
		}
		
		PersoPrincipal->DessinePerso();
		
		if(JeuEnPause)
		{
       		unsigned char cAlpha = AlphaPause <= 255 ? AlphaPause : 511 - AlphaPause;
        	while(LastAlphaPause + 6 < SDL_GetTicks())
			{
				++AlphaPause;
				LastAlphaPause += 6;
			}
        	if(AlphaPause > 510) AlphaPause = 0;
			Moteur.DessineTexte(FonteStandard, "Pause", 64, 268, 240, 0, 0, 0, cAlpha);
			
		}

		Interface.DessineInterface(PersoPrincipal->ReturnVie(), PersoPrincipal->ReturnVieMax(), PersoPrincipal->ReturnMana(), PersoPrincipal->ReturnManaMax());

		Moteur.DessineFPS();
		Moteur.FinDessin();

   	}
}
