Minor reset fixes

This commit is contained in:
Michal Pikulski
2025-11-05 20:36:13 +01:00
committed by Michal Pikulski
parent 717deee0cd
commit 0204c11560
4 changed files with 69 additions and 10 deletions

View File

@@ -128,8 +128,16 @@ namespace Levels
private async void OnRestartSelected()
{
// TODO: Restart level here
await OnLevelSelected();
// Clear all save data for the target level before reloading
if (Core.SaveLoad.SaveLoadManager.Instance != null && !string.IsNullOrEmpty(switchData?.targetLevelSceneName))
{
Core.SaveLoad.SaveLoadManager.Instance.ClearLevelData(switchData.targetLevelSceneName);
Logging.Debug($"[LevelSwitch] Cleared save data for level: {switchData.targetLevelSceneName}");
}
// Now reload the level with fresh state - skipSave=true prevents re-saving cleared data
var progress = new Progress<float>(p => Logging.Debug($"Loading progress: {p * 100:F0}%"));
await SceneManagerService.Instance.SwitchSceneAsync(switchData.targetLevelSceneName, progress, autoHideLoadingScreen: true, skipSave: true);
}
private void OnMenuCancel()