void EnergyRecoverCalculate() { GameObject energyHudText = GameObject.Find("EnergyHudText"); if (remainingSec > 0) { if (GameObject.Find("EnergyRecoverTimer") == null) { EnergyRecoverTimer = GameObject.CreatePrimitive(PrimitiveType.Cube); EnergyRecoverTimer.name = "EnergyRecoverTimer"; EnergyRecoverTimer.AddComponent <TimerWithSpan>(); EnergyRecoverTimer.GetComponent <TimerWithSpan>().zavTime = new int[] { 00, 00, remainingSec }; EnergyRecoverTimer.GetComponent <TimerWithSpan>().targTime = new int[] { 00, 00, 00 }; EnergyRecoverTimer.GetComponent <TimerWithSpan>().Reset = false; EnergyRecoverTimer.GetComponent <TimerWithSpan>().runTimer = true; EnergyRecoverTimer.GetComponent <TimerWithSpan>().zvon.AddListener(() => { energyHudText.GetComponent <Text>().text = "+1"; StartCoroutine(PlayerClass.ChangeAttr("energy_bar", 1)); Destroy(EnergyRecoverTimer, 0.001f); }); } } else { int energyBar = PlayerPrefs.GetInt("Energy"); int maxEnergyVal = PlayerClass.GetAttributes()["energy"]; if (energyBar < maxEnergyVal) { if (GameObject.Find("EnergyRecoverTimer") == null) { EnergyRecoverTimer = GameObject.CreatePrimitive(PrimitiveType.Cube); EnergyRecoverTimer.name = "EnergyRecoverTimer"; EnergyRecoverTimer.AddComponent <TimerWithSpan>(); EnergyRecoverTimer.GetComponent <TimerWithSpan>().zavTime = new int[] { 00, 00, 60 }; EnergyRecoverTimer.GetComponent <TimerWithSpan>().targTime = new int[] { 00, 00, 00 }; EnergyRecoverTimer.GetComponent <TimerWithSpan>().Reset = false; EnergyRecoverTimer.GetComponent <TimerWithSpan>().runTimer = true; EnergyRecoverTimer.GetComponent <TimerWithSpan>().zvon.AddListener(() => { energyHudText.GetComponent <Text>().text = "+1"; StartCoroutine(PlayerClass.ChangeAttr("energy_bar", 1)); Destroy(EnergyRecoverTimer, 0.001f); }); } else { remainingSec = int.Parse(EnergyRecoverTimer.GetComponent <TimerWithSpan>().timeString.Substring(6, 2)); } } } }