refactor: 将淡入淡出迁移到 ScreenTransitionPanel

- 将 BaseYarnCommand、FixSystemNew 各状态、GameManager、
  SaveSystem、PlayToolPanel 中的 PlayToolPanel 遮罩调用
  统一迁移到 ScreenTransitionPanel
- 从 PlayToolPanel 移除 _fadeImage 及相关 fade 方法
- 从 Play Tool Panel Prefab 移除 Fade Image 子对象
This commit is contained in:
2026-07-16 17:56:51 +08:00
parent 4100232162
commit f51a670239
11 changed files with 81 additions and 199 deletions
@@ -318,7 +318,7 @@ namespace AibisDream.SaveSystem
private static IEnumerator FadeInForRestore()
{
AddRestoreLog("Begin restore fade in");
var panel = UIManager.Instance?.GetPanel<PlayToolPanel>();
var panel = UIManager.Instance?.GetPanel<ScreenTransitionPanel>();
if (panel != null)
{
yield return panel.FadeInAsync(RestoreFadeDuration, useUnscaledTime: true);
@@ -328,7 +328,7 @@ namespace AibisDream.SaveSystem
private static IEnumerator FadeOutForRestore()
{
AddRestoreLog("End restore fade out");
var panel = UIManager.Instance?.GetPanel<PlayToolPanel>();
var panel = UIManager.Instance?.GetPanel<ScreenTransitionPanel>();
if (panel != null)
{
yield return panel.FadeOutAsync(RestoreFadeDuration, useUnscaledTime: true);
+1 -1
View File
@@ -174,7 +174,7 @@ namespace AibisDream.SaveSystem
public float saturationWeight;
/// <summary>
/// <see cref="PlayToolPanel"/> 演出遮罩终态:<c>true</c> = 黑屏盖住(<c>FadeIn</c> 完成)
/// <see cref="ScreenTransitionPanel"/> 全局遮罩终态:<c>true</c> = 画面被完全盖住
/// <c>false</c> = 画面可见(<c>FadeOut</c> 完成或遮罩未启用)。不记录转场中间 alpha。
/// </summary>
public bool isFadeScreenCovered;
@@ -4,8 +4,8 @@ using UnityEngine;
namespace AibisDream.SaveSystem
{
/// <summary>
/// screen section 的捕获/还原实现:屏幕后处理饱和度 + PlayToolPanel 遮罩终态(黑屏盖住 / 画面可见)
/// screen section:饱和度 + PlayToolPanel 遮罩终态(<see cref="PlayToolPanel.CaptureFadeScreenCovered"/>)。
/// screen section 的捕获/还原实现:屏幕后处理饱和度 + ScreenTransitionPanel 遮罩终态
/// screen section:饱和度 + 全局遮罩终态(<see cref="ScreenTransitionPanel.CaptureScreenCovered"/>)。
/// 供 <see cref="ScreenSnapshotProvider"/> 委托,避免 Provider 直接依赖 UI 细节。
/// </summary>
public static class ScreenSnapshotHelper
@@ -24,10 +24,10 @@ namespace AibisDream.SaveSystem
if (UIManager.Instance != null)
{
var panel = UIManager.Instance.GetPanel<PlayToolPanel>();
var panel = UIManager.Instance.GetPanel<ScreenTransitionPanel>();
if (panel != null)
{
dto.isFadeScreenCovered = panel.CaptureFadeScreenCovered();
dto.isFadeScreenCovered = panel.CaptureScreenCovered();
}
}
@@ -52,8 +52,8 @@ namespace AibisDream.SaveSystem
return;
}
var panel = UIManager.Instance.GetPanel<PlayToolPanel>();
panel?.ApplyFadeScreenCovered(dto.isFadeScreenCovered);
var panel = UIManager.Instance.GetPanel<ScreenTransitionPanel>();
panel?.ApplyScreenCovered(dto.isFadeScreenCovered);
}
}
@@ -66,8 +66,8 @@ namespace AibisDream.SaveSystem
}
_hasDeferredFadeScreenCovered = false;
var panel = UIManager.Instance?.GetPanel<PlayToolPanel>();
panel?.ApplyFadeScreenCovered(_deferredFadeScreenCovered);
var panel = UIManager.Instance?.GetPanel<ScreenTransitionPanel>();
panel?.ApplyScreenCovered(_deferredFadeScreenCovered);
}
}
}