La mano escogida también se guarda en preferencias

parent 2efccfc7
......@@ -57,6 +57,6 @@ class ListaDificultad extends ChangeNotifier {
notifyListeners();
final prefs = await SharedPreferences.getInstance();
prefs.setInt("dificultad", _indiceSeleccionado);
await prefs.setInt("dificultad", _indiceSeleccionado);
}
}
\ No newline at end of file
......@@ -14,6 +14,7 @@ import 'package:peponator/widgets/peponator_mensaje.dart';
import 'package:peponator/widgets/teclado_numerico.dart';
import 'package:peponator/widgets/tu_mensaje.dart';
import 'package:provider/provider.dart';
import 'package:shared_preferences/shared_preferences.dart';
// TODO: PantallaJuego debería introducirse en una vista PageStorage para almacenar el estado del scrollController
......@@ -47,6 +48,7 @@ class _PantallaJuegoState extends State<PantallaJuego>
List<Widget> mensajes = [];
final Future<SharedPreferences> prefs = SharedPreferences.getInstance();
late bool manoDerecha = true;
List<Pista> pistas = [];
......@@ -71,6 +73,8 @@ class _PantallaJuegoState extends State<PantallaJuego>
super.initState();
_loadRecords();
prefs.then((p) => manoDerecha = p.getBool("manoDerecha") ?? true);
recordTextController.addListener(() =>
setState(() {
jugador = recordTextController.text;
......@@ -198,9 +202,8 @@ class _PantallaJuegoState extends State<PantallaJuego>
case OpcionPausa.reanudar:
break;
case OpcionPausa.cambioMano:
setState(() {
manoDerecha = !manoDerecha;
});
setState(() { manoDerecha = !manoDerecha; });
_guardarPreferenciaMano();
break;
case OpcionPausa.nuevaPartida:
setState(() {_nuevaPartida();});
......@@ -264,13 +267,15 @@ class _PantallaJuegoState extends State<PantallaJuego>
@override
Widget build(BuildContext context) {
return Consumer<ListaDificultad>(builder: (context, manager, child) {
return OrientationBuilder(builder: (context, orientation) {
return Scaffold(
backgroundColor: (mostrarPistas)? Theme.of(context).colorScheme.surfaceDim : null,
body: manager.listo
? _buildPaginaJuego(context, orientation)
: CircularProgressIndicator()
);
return FutureBuilder(future: prefs, builder: (context, snapshot) {
return OrientationBuilder(builder: (context, orientation) {
return Scaffold(
backgroundColor: (mostrarPistas)? Theme.of(context).colorScheme.surfaceDim : null,
body: manager.listo
? _buildPaginaJuego(context, orientation)
: CircularProgressIndicator()
);
});
});
});
}
......@@ -1058,6 +1063,12 @@ class _PantallaJuegoState extends State<PantallaJuego>
await recordsFile.writeAsString(sb.toString());
}
void _guardarPreferenciaMano() async {
final prefs = await SharedPreferences.getInstance();
await prefs.setBool("manoDerecha", manoDerecha);
}
}
enum OpcionesFinPartida {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment