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));
                }
            }
        }
    }