更新迭代器函数

This commit is contained in:
2025-12-11 18:02:49 +08:00
parent 3db8bde1c2
commit a3483f23d8

View File

@@ -1332,7 +1332,7 @@ namespace Convention
while (loadingTask.Count > 0)
{
// 防止大量无延迟函数的使用导致假死机
if (Time.realtimeSinceStartup - CoroutineStarter.waitClock > maxWaitClock)
//if (Time.realtimeSinceStartup - CoroutineStarter.waitClock > maxWaitClock)
{
yield return null;
}
@@ -1347,6 +1347,23 @@ namespace Convention
}
}
}
/// <summary>
/// 包装即将用于协程的迭代器成为一个防止假死机的迭代器
/// </summary>
/// <param name="ir"></param>
/// <returns></returns>
public static IEnumerator AvoidFakeStopWithoutDeepStack(IEnumerator ir, float fps = 5)
{
float maxWaitClock = 1 / fps;
while (ir.MoveNext())
{
// 防止大量无延迟函数的使用导致假死机
if (Time.realtimeSinceStartup - CoroutineStarter.waitClock > maxWaitClock)
{
yield return null;
}
}
}
public static Coroutine StartCoroutine(IEnumerator coroutine)
{
return CoroutineStarter.StartCoroutine(coroutine);