void FixedUpdate()
{
if(realLife != objectivLife){
poolColor.r = 0f;
poolColor.g = 0f;
poolColor.b = 0f;
if(realLife < 50f){
poolColor.r = 1f;
poolColor.g = realLife <= 25f ? 0f : (realLife - 25f)/25f;
poolColor.b = 0f;
}else
if(realLife >= 50f && realLife < 75f){
poolColor.r = 1 - ((realLife - 50f)/25f);
poolColor.g = 1f;
poolColor.b = 0f;
}else
if(realLife >= 75f){
poolColor.r = 0f;
poolColor.g = 1f;
poolColor.b = (realLife - 75f)/26f;
}
for(int i=0; i<lifebar.Length; i++){
matCube[i].color = poolColor;
}
//matLifeBar.color = new Color(r,g,b, 1f);
if(realLife <= 25f){
lifeInfo.color = colorDanger;
lifeInfo.effectColor = colorOutlineDanger;
lifebar[0].transform.localScale = baseScale[0]*(realLife/25f);
lifebar[1].transform.localScale = baseScale[1]*0f;
}else if(realLife < 100f){
lifeInfo.color = white;
lifeInfo.effectColor = colorNormal;
poolIndex = (int)((realLife - 25f)/numberStep) + 1;
lifebar[poolIndex - 1].transform.localScale = baseScale[poolIndex - 1];
lifebar[poolIndex].transform.localScale = baseScale[poolIndex]*(((realLife - 25f)%numberStep)/numberStep);
if(poolIndex != lifebar.Length - 1) lifebar[poolIndex + 1].transform.localScale = baseScale[poolIndex + 1]*0f;
}else{
lifeInfo.color = white;
lifeInfo.effectColor = colorMax;
lifebar[lifebar.Length - 1].transform.localScale = baseScale[lifebar.Length - 1];
}
realLife = Mathf.Lerp(realLife, objectivLife, thelerp);
if(Mathf.Abs(realLife - objectivLife) < limit) realLife = objectivLife;
if(realLife != oldRealLife)
{
lifeInfo.text = realLife < 100f ? (realLife - 0.5f).ToString("00") + "%" : "SYNC";
if(realLife - 0.5f <= 0f)
{
lifeInfo.text = "00%";
}
oldRealLife = realLife;
}
}
if(realLife >= 100f)
{
if(Ring.transform.eulerAngles.x < 60f)
{
poolVector.x = 60f;
poolVector.y = Ring.transform.eulerAngles.y;
poolVector.z = Ring.transform.eulerAngles.z;
Ring.transform.eulerAngles = Vector3.Lerp(Ring.transform.eulerAngles, poolVector, speedTurnMax*Time.deltaTime);
if(Ring.transform.eulerAngles.x >= 59.99f)
{
turnActivated = true;
Ring.transform.eulerAngles = poolVector;
}
}else if(!turnActivated){
turnActivated = true;
}
Ring.transform.Rotate(0f, 0f, speedTurn*Time.deltaTime);
}else if(turnActivated)
{
poolVector.x = 0f;
poolVector.y = Ring.transform.eulerAngles.y;
poolVector.z = 0f;
Ring.transform.eulerAngles = Vector3.Lerp(Ring.transform.eulerAngles, poolVector, speedTurnMax*Time.deltaTime);
if(Vector3.Distance(Ring.transform.eulerAngles, poolVector) < 0.01f)
{
turnActivated = false;
Ring.transform.eulerAngles = poolVector;
}
}
if(realLife <= 25f)
{
lifeHUD.color = Color.Lerp(white, colorDanger, Mathf.PingPong(lerpDanger, 1f));
lerpDanger += speedClignDanger*Time.deltaTime;
}else if(lerpDanger != 0f)
{
lifeHUD.color = white;
lerpDanger = 0f;
}
matCube[0].SetFloat("_Shininess", lowBrillance + Mathf.PingPong((Time.time*speedBrillance), maxBrillance - lowBrillance) + 0.001f);
}