import 'package:flutter/foundation.dart'; class Data extends ChangeNotifier { // Language String _lang = ''; // randomization Map _word; List _otherWords = []; List _images = []; final int _recentWordsCount = 20; List _recentWords = []; // game data int _questionsCount = 0; int _goodAnswers = 0; int _wrongAnswers = 0; String get lang => _lang; set updateLang(String value) { _lang = value; notifyListeners(); } Map get word => _word; set updateWord(Map value) { _word = value; if (value != null && value['key'] != '') { _recentWords.insert(0, value['key']); _recentWords = _recentWords.take(_recentWordsCount).toList(); } notifyListeners(); } bool isRecentlyPicked(String word) { return _recentWords.contains(word); } List get otherWords => _otherWords; set updateOtherWords(List words) { _otherWords = words; notifyListeners(); } List get images => _images; set updateImages(List images) { _images = images; notifyListeners(); } void resetGame() { _word = null; _otherWords = []; _images = []; _questionsCount = 0; _goodAnswers = 0; _wrongAnswers = 0; notifyListeners(); } int get questionsCount => _questionsCount; set updateQuestionsCount(int value) { _questionsCount = value; notifyListeners(); } int get goodAnswers => _goodAnswers; set updateGoodAnswers(int value) { _goodAnswers = value; notifyListeners(); } int get wrongAnswers => _wrongAnswers; set updateWrongAnswers(int value) { _wrongAnswers = value; notifyListeners(); } }