diff --git a/Assets/Talo Game Services/Talo/Runtime/APIs/SavesAPI.cs b/Assets/Talo Game Services/Talo/Runtime/APIs/SavesAPI.cs index 99a5472..81a9032 100644 --- a/Assets/Talo Game Services/Talo/Runtime/APIs/SavesAPI.cs +++ b/Assets/Talo Game Services/Talo/Runtime/APIs/SavesAPI.cs @@ -241,7 +241,7 @@ public void UnloadCurrentSave() savesManager.UnloadCurrentSave(); } - public async Task DeleteSave(int saveId) + public async Task DeleteSave(int saveId, bool unloadIfCurrentSave = false) { var _ = savesManager.FindSaveByID(saveId); @@ -252,7 +252,7 @@ public async Task DeleteSave(int saveId) await Call(uri, "DELETE"); } - savesManager.DeleteSave(saveId); + savesManager.DeleteSave(saveId, unloadIfCurrentSave); } } } diff --git a/Assets/Talo Game Services/Talo/Runtime/Utils/SavesManager.cs b/Assets/Talo Game Services/Talo/Runtime/Utils/SavesManager.cs index 3e5e11f..efe465a 100644 --- a/Assets/Talo Game Services/Talo/Runtime/Utils/SavesManager.cs +++ b/Assets/Talo Game Services/Talo/Runtime/Utils/SavesManager.cs @@ -140,12 +140,12 @@ public void DeleteOfflineSaves(int[] saveIds) WriteOfflineSavesContent(offlineContent); } - public void DeleteSave(int saveId) + public void DeleteSave(int saveId, bool unloadIfCurrentSave) { _allSaves = _allSaves.Where((existingSave) => existingSave.id != saveId).ToList(); DeleteOfflineSave(saveId); - if (_currentSave?.id == saveId) + if (unloadIfCurrentSave && _currentSave?.id == saveId) { UnloadCurrentSave(); }