void LateUpdate()
{
// on test si l'élément feu est acheté
if( playerSkill.getSkill(6).getIsBought() )
{
// on enleve le cache de l'élément feu
FeuCache.border = new RectOffset(0,0,0,0);
}
// on test si l'élément glace est acheté
if( playerSkill.getSkill(9).getIsBought() )
{
// on enleve le cache de l'élément glace
GlaceCache.border = new RectOffset(0,0,0,0);
}
// on test si l'élément vent est acheté
if( playerSkill.getSkill(12).getIsBought() )
{
// on enleve le cache de l'élément vent
VentCache.border = new RectOffset(0,0,0,0);
}
// Permet l'affichage du changement de type de magie
// si on selectionne l'élément feu
if (Input.GetKeyDown(KeyCode.F1))
{
// on verifie si l'élément est acheté et on grise les deux autres
if(playerSkill.getSkill(6).getIsBought())
{
FeuOmbres.border = new RectOffset(0,0,0,0);
}
GlaceOmbres.border = new RectOffset(0,0,0,511);
VentOmbres.border = new RectOffset(0,0,0,511);
}
// si on selectionne l'élément glace
else if (Input.GetKeyDown(KeyCode.F2))
{
FeuOmbres.border = new RectOffset(0,0,0,511);
// on verifie si l'élément est acheté et on grise les deux autres
if(playerSkill.getSkill(9).getIsBought())
{
GlaceOmbres.border = new RectOffset(0,0,0,0);
}
VentOmbres.border = new RectOffset(0,0,0,511);
}
// si on selectionne l'élément vent
else if (Input.GetKeyDown(KeyCode.F3))
{
FeuOmbres.border = new RectOffset(0,0,0,511);
GlaceOmbres.border = new RectOffset(0,0,0,511);
// on verifie si l'élément est acheté et on grise les deux autres
if(playerSkill.getSkill(12).getIsBought())
{
VentOmbres.border = new RectOffset(0,0,0,0);
}
}
if(Time.timeScale != 0)
{
// lorsqu'on declenche le chargement d'une skill
if (Input.GetButtonDown("Fire2"))
{
skillLance = true;
// accesseur player pour les timer
timerPortee = player.AccessTimePortee();
timerZone = player.AccessTimeZone();
timerSuper = player.AccessTimeSuper();
timerJauge = 0;
JaugeVide.border = new RectOffset(0,0,0,512);
}
// lorsqu'on lance la skill
if (Input.GetButtonUp("Fire2"))
{
skillLance = false;
timerJauge = -1;
timerPortee = -1;
timerZone = -1;
timerSuper = -1;
}
if(skillLance)
{
timerJauge += Time.deltaTime;
float sizeConverter = 197f * ((float)timerJauge/((float)timerSuper-(float)timerPortee));
int sizeTime = 286 + (int)sizeConverter;
if( timerJauge >= timerPortee && timerJauge < timerZone)
{
JaugeVerte.border = new RectOffset(0,0,0, sizeTime );
JaugeJaune.border = new RectOffset(0,0,0,0);
JaugeRouge.border = new RectOffset(0,0,0,0);
}
else if( timerJauge >= timerZone && timerJauge < timerSuper)
{
JaugeJaune.border = new RectOffset(0,0,0, sizeTime );
JaugeVerte.border = new RectOffset(0,0,0,0);
JaugeRouge.border = new RectOffset(0,0,0,0);
}
else
{
JaugeVerte.border = new RectOffset(0,0,0,0);
JaugeJaune.border = new RectOffset(0,0,0,0);
JaugeRouge.border = new RectOffset(0,0,0,483);
}
}
else
{
JaugeVide.border = new RectOffset(0,0,0,0);
JaugeVerte.border = new RectOffset(0,0,0,0);
JaugeJaune.border = new RectOffset(0,0,0,0);
JaugeRouge.border = new RectOffset(0,0,0,0);
}
}
else
{
JaugeVide.border = new RectOffset(0,0,0,0);
JaugeVerte.border = new RectOffset(0,0,0,0);
JaugeJaune.border = new RectOffset(0,0,0,0);
JaugeRouge.border = new RectOffset(0,0,0,0);
skillLance = false;
timerJauge = -1;
timerPortee = -1;
timerZone = -1;
timerSuper = -1;
}
/***** Affichage du score *****/
// gestion de la police et de la position de l'expérience du joueur
// selon la taille du nombre
if(player.getExperience() < 10)
{
playerXp.pixelOffset = new Vector2(Screen.width/2-5, 50);
playerXp.fontSize = 35;
}
else if(player.getExperience() < 100)
{
playerXp.pixelOffset = new Vector2(Screen.width/2-10, 48);
playerXp.fontSize = 33;
}
else if(player.getExperience() < 1000)
{
playerXp.pixelOffset = new Vector2(Screen.width/2-20, 46);
playerXp.fontSize = 31;
}
else if(player.getExperience() < 10000)
{
playerXp.pixelOffset = new Vector2(Screen.width/2-25, 44);
playerXp.fontSize = 29;
}
else if(player.getExperience() < 100000)
{
playerXp.pixelOffset = new Vector2(Screen.width/2-30, 42);
playerXp.fontSize = 27;
}
else if(player.getExperience() < 1000000)
{
playerXp.pixelOffset = new Vector2(Screen.width/2-30, 40);
playerXp.fontSize = 22;
}
else if(player.getExperience() < 10000000)
{
playerXp.pixelOffset = new Vector2(Screen.width/2-30, 38);
playerXp.fontSize = 19;
}
else if(player.getExperience() < 100000000)
{
playerXp.pixelOffset = new Vector2(Screen.width/2-35, 36);
playerXp.fontSize = 17;
}
else if(player.getExperience() < 1000000000)
{
playerXp.pixelOffset = new Vector2(Screen.width/2-35, 34);
playerXp.fontSize = 16;
}
else
{
playerXp.pixelOffset = new Vector2(Screen.width/2-35, 32);
playerXp.fontSize = 15;
}
playerXp.text = player.getExperience().ToString();
/***** * * * * * * * * * * * * * *****/
/***** Gestion de la vie et du mana *****/
float hp = player.getSkillManager().getPv();
float hpMax = player.getSkillManager().getPvMax();
float mana = player.getSkillManager().getMana();
float manaMax = player.getSkillManager().getManaMax();
// si la vie est inférieure à 0
if(hp <= 0)
{
// on affiche le Game Over et le menu de fin de jeu
hp = 0;
gameOverText.enabled=true;
Screen.showCursor = true;
Screen.lockCursor = false;
if (Input.anyKeyDown)
Application.LoadLevel("MainMenuScene");
}
// actualisation de la barre de vie
double hpBar = (double)hp * (129/(double)hpMax);
int hpBarPxl = (int)hpBar + 284;
VieTexture.border = new RectOffset(0,0,0,hpBarPxl);
// actualisation de la barre de mana
double manaBar = (double)mana * (122/(double)manaMax);
int manaBarPxl = (int)manaBar + 288;
ManaTexture.border = new RectOffset(0,0,0,manaBarPxl);
}