Skip to content
Snippets Groups Projects
Commit 0c2fb8c9 authored by Benoît Harrault's avatar Benoît Harrault
Browse files

Merge branch '11-fix-timer-on-multiple-simultaneous-mini-games' into 'master'

Resolve "Fix timer on multiple simultaneous mini games"

Closes #11

See merge request !11
parents 47a4ce6c 2277ffbd
No related branches found
No related tags found
1 merge request!11Resolve "Fix timer on multiple simultaneous mini games"
Pipeline #1141 passed
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
app.versionName=1.2.2
app.versionCode=8
app.versionName=1.2.3
app.versionCode=9
......@@ -7,7 +7,7 @@ class Data extends ChangeNotifier {
bool _searchingLetter = false;
String _category = '';
String _letter = '';
int _timer = 0;
int _countdown = 0;
bool get searchingCategory => _searchingCategory;
......@@ -37,17 +37,17 @@ class Data extends ChangeNotifier {
notifyListeners();
}
int get timer => _timer;
int get countdown => _countdown;
set updateTimer(int value) {
_timer = value;
set updateCountdown(int value) {
_countdown = value;
notifyListeners();
}
void resetGame() {
_category = '';
_letter = '';
_timer = 0;
_countdown = 0;
notifyListeners();
}
}
......@@ -14,29 +14,31 @@ class Home extends StatelessWidget {
String _randomLetter = '';
String _randomCategory = '';
Timer _timer;
int _timerStart = 10;
int _countdownStart = 10;
Future<void> startMiniGame(BuildContext context, Data myProvider) async {
if (myProvider.countdown == 0) {
pickCategory(context, myProvider);
pickLetter(context, myProvider);
startTimer(context, myProvider);
}
}
Future<void> startTimer(BuildContext context, Data myProvider) async {
const oneSec = const Duration(seconds: 1);
if (_timer != null) {
_timer.cancel();
dispose();
}
_timerStart = 10;
myProvider.updateTimer = _timerStart;
_countdownStart = 10;
myProvider.updateCountdown = _countdownStart;
_timer = new Timer.periodic(
oneSec,
(Timer timer) {
if (_timerStart == 0) {
if (_countdownStart == 0) {
timer.cancel();
} else {
_timerStart--;
myProvider.updateTimer = _timerStart;
_countdownStart--;
myProvider.updateCountdown = _countdownStart;
}
},
);
......@@ -138,14 +140,14 @@ class Home extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
FlatButton(
onPressed: () => startMiniGame(context, _myProvider),
onPressed: (_myProvider.countdown != 0) ? null : () => startMiniGame(context, _myProvider),
color: Colors.blue,
padding: EdgeInsets.all(10.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
_myProvider.timer.toString(),
_myProvider.countdown.toString(),
style: Theme.of(context).textTheme.headline2,
),
],
......
......@@ -141,7 +141,7 @@ packages:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.19"
version: "0.3.0"
typed_data:
dependency: transitive
description:
......@@ -157,5 +157,5 @@ packages:
source: hosted
version: "2.1.0"
sdks:
dart: ">=2.12.0-0.0 <3.0.0"
dart: ">=2.12.0 <3.0.0"
flutter: ">=1.16.0"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment