修复可能存在的bug

This commit is contained in:
2026-07-06 00:26:13 +08:00
parent ff27b3a805
commit 390fb99602
+16 -2
View File
@@ -48,9 +48,13 @@ namespace GameFramework
public void LoadScoringScene() => Load(scoringScene); public void LoadScoringScene() => Load(scoringScene);
public void Load(string sceneName) public void Load(string sceneName)
{ {
if (isLoading) return; if (isLoading)
{
Debug.LogWarning($"[SceneLoader] 上次加载未完成,强制重置并加载: {sceneName}");
StopAllCoroutines();
isLoading = false;
}
isLoading = true; isLoading = true;
StopAllCoroutines();
StartCoroutine(LoadingCoroutine(sceneName)); StartCoroutine(LoadingCoroutine(sceneName));
} }
@@ -63,7 +67,16 @@ namespace GameFramework
"拖到 SceneLoader 的 transitionImage 字段。"); "拖到 SceneLoader 的 transitionImage 字段。");
} }
Debug.Log($"[SceneLoader] 开始加载场景: {sceneName}");
var loadingOperation = SceneManager.LoadSceneAsync(sceneName); var loadingOperation = SceneManager.LoadSceneAsync(sceneName);
if (loadingOperation == null)
{
Debug.LogError($"[SceneLoader] 场景 '{sceneName}' 加载失败!请检查 Build Settings 中是否包含该场景。");
isLoading = false;
yield break;
}
loadingOperation.allowSceneActivation = false; loadingOperation.allowSceneActivation = false;
if (transitionImage != null) if (transitionImage != null)
@@ -110,6 +123,7 @@ namespace GameFramework
transitionImage.gameObject.SetActive(false); transitionImage.gameObject.SetActive(false);
} }
Debug.Log($"[SceneLoader] 场景加载完成: {sceneName}");
isLoading = false; isLoading = false;
} }
} }