Hi guys, i have a problem with my HP script.
my if statement doesn’t work properly.
When i start the game, in the debug screen, my code prints all the conditions that i declared, and my question is " why my all the if statements are true even if the condition of one of them isn’t true?
the two functions below the update needs in other scripts to add or remove HP to my player.
Thank u, here’s the code!
using UnityEngine.SceneManagement;
public class HPSystem : MonoBehaviour
{
//Variabli per HP massimi del giocatori e quelli correnti
public int maxHP = 3;
public int check = 3;
public int curHP;
public bool destroy;
// Use this for initialization
void Start()
{
curHP = check;
}
// Update is called once per frame
void Update()
{
if (curHP >= check)
{
// curHP = check;
print("hpfull");
}
if (curHP <= check)
{
print("hpnotfull");
}
if (curHP == 0)
{
// Death();
}
}
//Se gli Hp sono uguali a 0, ricarica la scena
void Death()
{
SceneManager.LoadScene("Main menu", LoadSceneMode.Single);
}
//Funzione che viene richiamata nello script dei nemici, che cambiano il valore di dmg, variabile che stabilisce quanti danni riceve il giocatore
public void Damage(int dmg)
{
curHP -= dmg;
print("1 dmg taken");
}
public void Restored(int rel)
{
if (curHP <= check)
{
curHP += rel;
print("1 HP restored");
destroy = true;
}
else if (curHP >= check)
{
print("HP already full");
destroy = false;
}
}
}