Select Git revision
Contents.json
game.dart 4.19 KiB
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:momomotus/config/default_game_settings.dart';
import 'package:momomotus/data/fetch_data_helper.dart';
import 'package:momomotus/models/settings/settings_game.dart';
import 'package:momomotus/models/settings/settings_global.dart';
class Game {
Game({
// Settings
required this.gameSettings,
required this.globalSettings,
// State
this.isRunning = false,
this.isStarted = false,
this.animationInProgress = false,
// Base data
required this.word,
required this.dictionary,
// Game data
this.currentGuess = '',
this.foundLetters = '',
required this.guesses,
this.foundWord = false,
});
// Settings
final GameSettings gameSettings;
final GlobalSettings globalSettings;
// State
bool isRunning;
bool isStarted;
bool animationInProgress;
// Base data
final String word;
final List<String> dictionary;
// Game data
String currentGuess;
String foundLetters;
List<String> guesses;
bool foundWord;
factory Game.createEmpty() {
return Game(
// Settings
gameSettings: GameSettings.createDefault(),
globalSettings: GlobalSettings.createDefault(),
// Base data
word: '',
dictionary: [],
// Game data
guesses: [],
);
}
factory Game.createNew({
GameSettings? gameSettings,
GlobalSettings? globalSettings,
}) {
final GameSettings newGameSettings = gameSettings ?? GameSettings.createDefault();
final GlobalSettings newGlobalSettings = globalSettings ?? GlobalSettings.createDefault();
final String pickedWord = FetchDataHelper().getRandomWord(
lang: newGameSettings.lang,