I’m creating a script that manages the players stats, and so far i’ve created a function that works, but if i call it in update it invokes multiple times, i cant put it in start either because it needs to check every frame for variables. Is there another way to evoke it once?
here’s my script
public float maxHealth = 100;
public float maxStamina = 100;
public float maxMana = 100;
public float playerHealth = 100;
public float playerStamina = 100;
public float playerMana = 100;
public bool losingStamina;
void Update () {
if (losingStamina == true)
{
CancelInvoke("regenStamina");
}
else if (playerStamina < maxStamina)
{
InvokeRepeating("regenStamina", 3f, 1.0f);
}
}
void regenStamina()
{
//StamRegenDelay -= 1;
playerStamina += 1f;
if (playerStamina >= maxStamina)
{
playerStamina = maxStamina;
}
}