Select Git revision
data.dart 2.36 KiB
import 'dart:math';
import 'package:flutter/foundation.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:tetrisdual/entity/player.dart';
class Data extends ChangeNotifier {
// Configuration available parameters
List _availableParameters = [];
List get availableParameters => _availableParameters;
// Application default configuration
// Application current configuration
String getParameterValue(String parameterCode) {
switch (parameterCode) {
}
return '';
}
List getParameterAvailableValues(String parameterCode) {
switch (parameterCode) {
}
return [];
}
void setParameterValue(String parameterCode, String parameterValue) async {
switch (parameterCode) {
}
final prefs = await SharedPreferences.getInstance();
prefs.setString(parameterCode, parameterValue);
}
// Game data
bool _gameIsRunning = false;
bool _gameIsFinished = false;
int _currentPlayer = 0;
List<Player?> _players = [null, null];
bool get isGameRunning => _gameIsRunning;
void updateGameIsRunning(bool gameIsRunning) {
_gameIsRunning = gameIsRunning;
notifyListeners();
}
bool get isGameFinished => _gameIsFinished;
void updateGameIsFinished(bool gameIsFinished) {
_gameIsFinished = gameIsFinished;
notifyListeners();
}
int get currentPlayer => _currentPlayer;
void toggleCurrentPlayer() {
if (_currentPlayer == 0) {
// start game
_currentPlayer = 1;
} else {
// Reset current player tetrimino
getCurrentPlayer().resetTetrimino();
// 1 -> 2 ; 2 -> 1
_currentPlayer = 3 - _currentPlayer;
}
// Pick new tetrimino
getCurrentPlayer().pickRandomTetrimino();
notifyListeners();
}