diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 5c30c9e1b3..1eb56ec443 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -545,6 +545,8 @@ settings.graphics = Graphics settings.cleardata = Clear Game Data... settings.clear.confirm = Are you sure you want to clear this data?\nWhat is done cannot be undone! settings.clearall.confirm = [scarlet]WARNING![]\nThis will clear all data, including saves, maps, unlocks and keybinds.\nOnce you press 'ok' the game will wipe all data and automatically exit. +settings.clearsaves.confirm = Are you sure you want to clear all saves? +settings.clearsaves = Clear all saves paused = [accent]< Paused > clear = Clear banned = [scarlet]Banned diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index 8642a0c26b..b724f7df71 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -539,6 +539,8 @@ settings.graphics = Графика settings.cleardata = Очистить игровые данные… settings.clear.confirm = Вы действительно хотите очистить свои данные?\nЭто нельзя отменить! settings.clearall.confirm = [scarlet]ОСТОРОЖНО![]\nЭто сотрёт все данные, включая сохранения, карты, прогресс кампании и настройки управления.\nПосле того как вы нажмёте [accent][ОК][], игра уничтожит все данные и автоматически закроется. +settings.clearsaves.confirm = Вы уверены, что хотите удалить все сохранения? +settings.clearsaves = Удалить все сохранения paused = [accent]< Пауза > clear = Очистить banned = [scarlet]Запрещено diff --git a/core/src/mindustry/game/Saves.java b/core/src/mindustry/game/Saves.java index 681887e685..561396d2bf 100644 --- a/core/src/mindustry/game/Saves.java +++ b/core/src/mindustry/game/Saves.java @@ -164,6 +164,13 @@ public class Saves{ return saves; } + public void deleteAll(){ + saves.clear(); + for(Fi file : saveDirectory.list()){ + file.delete(); + } + } + public class SaveSlot{ public final Fi file; boolean requestedPreview; diff --git a/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java b/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java index ce843d1b67..21ee0faaf9 100644 --- a/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java +++ b/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java @@ -108,6 +108,14 @@ public class SettingsMenuDialog extends SettingsDialog{ t.row(); + t.button("$settings.clearsaves", Icon.trash, style, () -> { + ui.showConfirm("$confirm", "$settings.clearsaves.confirm", () -> { + control.saves.deleteAll(); + }); + }); + + t.row(); + t.button("$data.export", Icon.upload, style, () -> { if(ios){ Fi file = Core.files.local("mindustry-data-export.zip");