Очки HP должны быть востонавливаться и становиться больше после того как оно будет 0, но оно увеличевается до бесконечности

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class game : MonoBehaviour
{

public Text text_money;
public Text text_hp;
public float money = 0f;
public float rate_brain = 1f;
public float rate_click = 1f;
public float hp_brain = 20f;
public float default_hp_brain = 20f;
public int break_brain = 0;
public float need_break_brain = 5f;
public float need_money_upgrade_click = 35f;
public float need_money_upgrade_brain = 50f;



public void Start()
{
    money = PlayerPrefs.GetFloat("save_money");
    rate_brain = PlayerPrefs.GetFloat("save_ratebrain");
    rate_click = PlayerPrefs.GetFloat("save_rateclcik");
    hp_brain = PlayerPrefs.GetFloat("save_hprain");
    default_hp_brain = PlayerPrefs.GetFloat("save_defaulthp");
    need_break_brain = PlayerPrefs.GetFloat("save_needbreakbrain");
    break_brain = PlayerPrefs.GetInt("save_breakBrain");
    need_money_upgrade_brain = PlayerPrefs.GetFloat("save_needmoneyupgradebrain");
    need_money_upgrade_click  = PlayerPrefs.GetFloat("save_moneyupgradeclick");
}

public void upgrade_click()
{
    if (money <= need_money_upgrade_click)
    {
        money = money - need_money_upgrade_click;
        need_money_upgrade_click = need_money_upgrade_click * 1.4f;
        rate_click = rate_click * 1.2f;
        PlayerPrefs.SetFloat("save_rateclick", rate_click);
        PlayerPrefs.Save();
        PlayerPrefs.SetFloat("save_needmoneyupgradeclick", need_money_upgrade_click);
        PlayerPrefs.Save();

    }
}


public void upgrade_brain()
{
    if (money >= need_money_upgrade_brain)
    {
        money = money - need_money_upgrade_brain;
        need_money_upgrade_brain = need_money_upgrade_brain * 1.7f;
        rate_brain = rate_brain * 1.3f;
        PlayerPrefs.SetFloat("save_ratebrain", rate_brain);
        PlayerPrefs.Save();
        PlayerPrefs.SetFloat("save_needmoneyupgradebrain", need_money_upgrade_brain);
        PlayerPrefs.Save();
    }
}

public void click()
{
    money = money + rate_click;
    hp_brain = hp_brain - rate_brain;
    PlayerPrefs.SetFloat("save_money", money);
    PlayerPrefs.Save();
    PlayerPrefs.SetFloat("save_hpbrain", hp_brain);
    PlayerPrefs.Save();
    PlayerPrefs.SetInt("save_breakBrain", break_brain);
    PlayerPrefs.Save();

}

void set_hp_brain()
{
    if (hp_brain <= 0)
    {
        hp_brain = hp_brain + default_hp_brain;
    }
}

public void upgrade_default_hp()
{
    if (break_brain == need_break_brain)
    {
        default_hp_brain = default_hp_brain * 1.3f;
        need_break_brain = need_break_brain * 1.5f;
        PlayerPrefs.SetFloat("save_defaulthp", default_hp_brain);
        PlayerPrefs.Save();
        PlayerPrefs.SetFloat("save_needbreakbrain", need_break_brain);
        PlayerPrefs.Save();
    }
}


void Update()
{
    text_money.text = money + "$";
    text_hp.text = hp_brain + "/" + default_hp_brain;
    upgrade_default_hp();
    set_hp_brain();
}

}