From a3483f23d8e04442b414762a95a130226a4f65bc Mon Sep 17 00:00:00 2001
From: ninemine <1371605831@qq.com>
Date: Thu, 11 Dec 2025 18:02:49 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=BF=AD=E4=BB=A3=E5=99=A8?=
=?UTF-8?q?=E5=87=BD=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Convention/[Runtime]/Config.cs | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/Convention/[Runtime]/Config.cs b/Convention/[Runtime]/Config.cs
index de04ac6..83657a1 100644
--- a/Convention/[Runtime]/Config.cs
+++ b/Convention/[Runtime]/Config.cs
@@ -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
}
}
}
+ ///
+ /// 包装即将用于协程的迭代器成为一个防止假死机的迭代器
+ ///
+ ///
+ ///
+ 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);