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
+13 -11
View File
@@ -46,9 +46,9 @@ namespace AibisDream
/// </summary>
private IEnumerator AppBootstrapCoroutine()
{
var playTool = UIManager.Instance.GetPanel<PlayToolPanel>();
UIManager.Instance.ShowPanel<PlayToolPanel>();
playTool?.ApplyFadeScreenCovered(true);
var transitionPanel = UIManager.Instance.GetPanel<ScreenTransitionPanel>();
UIManager.Instance.ShowPanel<ScreenTransitionPanel>();
transitionPanel?.ApplyScreenCovered(true);
yield return LocalizationKit.WaitUntilReady();
@@ -56,9 +56,9 @@ namespace AibisDream
yield return LocalizationKit.WaitForUIRefresh();
if (playTool != null)
if (transitionPanel != null)
{
yield return playTool.FadeOutAsync(MainMenuFadeDuration);
yield return transitionPanel.FadeOutAsync(MainMenuFadeDuration);
}
}
@@ -129,7 +129,7 @@ namespace AibisDream
private IEnumerator LoadFirstScene()
{
ChapterController.Instance.UnlockChapter(_currentTalkSceneSo.Value);
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(0.5f);
yield return UIManager.Instance.GetPanel<ScreenTransitionPanel>().FadeInAsync(0.5f);
yield return SceneLoader.Instance.LoadSceneAsync(_currentTalkSceneSo.Value.firstSceneName);
yield return WaitForSceneDialogueReady();
DialogController.Instance.StartDialog(_currentTalkSceneSo.Value.yarnProject);
@@ -224,10 +224,12 @@ namespace AibisDream
private IEnumerator RestartCoroutine()
{
var playTool = UIManager.Instance.GetPanel<PlayToolPanel>();
var transitionPanel = UIManager.Instance.GetPanel<ScreenTransitionPanel>();
UIManager.Instance.ShowPanel<PlayToolPanel>();
if (playTool != null)
UIManager.Instance.ShowPanel<ScreenTransitionPanel>();
if (transitionPanel != null)
{
yield return playTool.FadeInAsync(MainMenuFadeDuration);
yield return transitionPanel.FadeInAsync(MainMenuFadeDuration);
}
// 清理所有系统注册
@@ -255,9 +257,9 @@ namespace AibisDream
yield return LocalizationKit.WaitForUIRefresh();
if (playTool != null)
if (transitionPanel != null)
{
yield return playTool.FadeOutAsync(MainMenuFadeDuration);
yield return transitionPanel.FadeOutAsync(MainMenuFadeDuration);
}
}
@@ -316,7 +318,7 @@ namespace AibisDream
{
_currentTalkSceneSo.Value = next;
ChapterController.Instance.UnlockChapter(_currentTalkSceneSo.Value);
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync();
yield return UIManager.Instance.GetPanel<ScreenTransitionPanel>().FadeInAsync();
yield return SceneLoader.Instance.LoadSceneAsync(_currentTalkSceneSo.Value.firstSceneName);
yield return WaitForSceneDialogueReady();
DialogController.Instance.StartDialog(_currentTalkSceneSo.Value.yarnProject);