Select Git revision
-
Benoît Harrault authoredBenoît Harrault authored
data.dart 5.52 KiB
import 'package:flutter/foundation.dart';
import 'package:shared_preferences/shared_preferences.dart';
class Data extends ChangeNotifier {
// Configuration available values
List _availableLangValues = ['fr'];
List _availableWordLengthValues = ['4', '5', '6', '7', '8'];
List _availableLevelValues = ['easy', 'normal'];
List _availableSkinValues = ['default'];
List get availableLangValues => _availableLangValues;
List get availableWordLengthValues => _availableWordLengthValues;
List get availableLevelValues => _availableLevelValues;
List get availableSkinValues => _availableSkinValues;
// Application default configuration
String _lang = '';
String _langDefault = 'fr';
String _length = '';
String _lengthDefault = '5';
String _level = '';
String _levelDefault = 'normal';
String _skin = '';
String _skinDefault = 'default';
// Game data
bool _gameIsRunning = false;
bool _foundWord = false;
String _word = '';
final int _recentWordsCount = 20;
List _recentWords = [];
List<String> _guesses = [];
String _currentGuess = '';
String _foundLetters = '';
int _maxGuessesCount = 7;
String get lang => _lang;
void updateLang(String lang) {
_lang = lang;
notifyListeners();
}
String get length => _length;
void updateLength(String length) {
_length = length;
notifyListeners();
}
String get level => _level;
void updateLevel(String level) {
_level = level;
notifyListeners();
}
String get skin => _skin;
void updateSkin(String skin) {
_skin = skin;
notifyListeners();
}
List<String> get guesses => _guesses;
String get currentGuess => _currentGuess;
int get maxGuessesCount => _maxGuessesCount;
void currentGuessAddLetter(String letter) {
if (_currentGuess.length < int.parse(_length)) {
_currentGuess = _currentGuess + letter;
notifyListeners();
}
}