UI相关优化补充

This commit is contained in:
2026-05-25 13:21:41 +08:00
parent 3c812cfb41
commit a1f9122153
54 changed files with 2008 additions and 112 deletions

View File

@@ -68,11 +68,26 @@ namespace BaseGames.UI
// ── 内部 ─────────────────────────────────────────────────────────────
// 缓存等待对象以避免典型路径(剩余时间 == _minDisplayTime下的重复分配。
private WaitForSecondsRealtime _cachedFullWait;
private IEnumerator HideAfterMinTime()
{
float elapsed = Time.unscaledTime - _shownAt;
if (elapsed < _minDisplayTime)
yield return new WaitForSecondsRealtime(_minDisplayTime - elapsed);
float elapsed = Time.unscaledTime - _shownAt;
float remaining = _minDisplayTime - elapsed;
if (remaining > 0f)
{
// 完整剩余 ≈ 显示时间时复用缓存对象;否则按需新建(罕见路径)。
if (Mathf.Approximately(remaining, _minDisplayTime))
{
_cachedFullWait ??= new WaitForSecondsRealtime(_minDisplayTime);
yield return _cachedFullWait;
}
else
{
yield return new WaitForSecondsRealtime(remaining);
}
}
if (_loadingRoot != null) _loadingRoot.SetActive(false);
}
}