feat: Add exists method for checking save game file existence in CLI and Flutter persistence

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
2026-03-23 15:39:02 +01:00
parent 3b1f8c80d1
commit f05a861998
2 changed files with 31 additions and 0 deletions
@@ -34,6 +34,19 @@ class CliSaveGamePersistence implements SaveGamePersistence {
} }
} }
@override
Future<bool> exists({
required int slot,
required GameVersion version,
}) async {
try {
final File file = File(_slotPath(slot, version));
return file.existsSync() && file.lengthSync() > 0;
} catch (_) {
return false;
}
}
@override @override
Future<void> save({ Future<void> save({
required int slot, required int slot,
@@ -51,6 +51,24 @@ class FlutterSaveGamePersistence implements SaveGamePersistence {
} }
} }
@override
Future<bool> exists({
required int slot,
required GameVersion version,
}) async {
if (kIsWeb) {
return false;
}
try {
final String dirPath = await _resolveDirectoryPath();
final File file = File(_slotPath(dirPath, slot, version));
return file.existsSync() && file.lengthSync() > 0;
} catch (_) {
return false;
}
}
@override @override
Future<void> save({ Future<void> save({
required int slot, required int slot,