/// <summary> /// Converts amount to slider value. (0 - 1) /// </summary> /// <returns>Slider value. 0 - 1</returns> /// <param name="timeLeft">Time left to add one energy</param> public static float ConvertToSliderValue(TimeSpan timeLeft, TimeBasedValue timeBasedValue) { float result = 0f; long timeToAddDuration = timeBasedValue.GetTimeToAddEnergy(); long timeLeftDuration = (long)timeLeft.TotalSeconds; long percent = (100 * timeLeftDuration) / timeToAddDuration; result = percent / 100f; return(result); }
public void CheckAmountAdded(long lastClosedTime = -1) { int result = 0; if (lastClosedTime == -1) { lastClosedTime = EnergySuiteBehaviour.TimeServ.GetLastClosedTime(); } TimeSpan timeLeftToAddEnergy = _timeBasedValue.GetTimeToNextAdd(lastClosedTime); long totalTimeToAddEnergy = _timeBasedValue.GetTimeToAddEnergy(); long lastTimeAdded; long timeAddedEnergy = lastClosedTime + (long)timeLeftToAddEnergy.TotalSeconds; if (timeAddedEnergy > EnergySuiteBehaviour.CurrentTimeSec) { _waitForCheck = false; return; } result++; lastTimeAdded = timeAddedEnergy; while (true) { long newLastTimeAdded = lastTimeAdded + totalTimeToAddEnergy; if (newLastTimeAdded > EnergySuiteBehaviour.CurrentTimeSec) { break; } result++; lastTimeAdded = newLastTimeAdded; } if (result > 0) { _energySuiteValueBehaviour.Add(result, true, lastTimeAdded); } _waitForCheck = false; }