feat: Implement platform-specific persistence for renderer settings and save games

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
2026-03-23 16:28:35 +01:00
parent dcfb2e8e02
commit 26c738b702
14 changed files with 291 additions and 28 deletions
+2 -4
View File
@@ -7,8 +7,6 @@ library;
import 'dart:io';
import 'package:wolf_3d_cli/cli_game_loop.dart';
import 'package:wolf_3d_cli/cli_renderer_settings_persistence.dart';
import 'package:wolf_3d_cli/cli_save_game_persistence.dart';
import 'package:wolf_3d_dart/wolf_3d_data.dart';
import 'package:wolf_3d_dart/wolf_3d_data_types.dart';
import 'package:wolf_3d_dart/wolf_3d_engine.dart';
@@ -64,12 +62,12 @@ void main() async {
input: CliInput(),
onGameWon: () => stopAndExit(0),
onQuit: () => stopAndExit(0),
saveGamePersistence: CliSaveGamePersistence(),
saveGamePersistence: DefaultSaveGamePersistence(),
);
engine.init();
final persistence = CliRendererSettingsPersistence();
final persistence = DefaultRendererSettingsPersistence();
final WolfRendererSettings? saved = await persistence.load();
gameLoop = CliGameLoop(