Fix incorrect startup delay logic

This commit is contained in:
Sinai
2021-09-02 18:29:21 +10:00
parent c31e0949d3
commit 0b84405e57

View File

@ -66,14 +66,13 @@ namespace UnityExplorer
private static IEnumerator SetupCoroutine() private static IEnumerator SetupCoroutine()
{ {
yield return null; yield return null;
float prevRealTime = Time.realtimeSinceStartup;
float start = Time.realtimeSinceStartup;
float delay = ConfigManager.Startup_Delay_Time.Value; float delay = ConfigManager.Startup_Delay_Time.Value;
while (delay > 0) while (delay > 0)
{ {
float diff = Math.Max(Time.deltaTime, Time.realtimeSinceStartup - start); float diff = Math.Max(Time.deltaTime, Time.realtimeSinceStartup - prevRealTime);
delay -= diff; delay -= diff;
prevRealTime = Time.realtimeSinceStartup;
yield return null; yield return null;
} }