Renamed folder & fixed gesture detector

This commit is contained in:
Felix Kirchner
2025-04-19 11:44:00 +02:00
parent 661dab488e
commit 86ab8ecba1
6 changed files with 55 additions and 46 deletions

View File

@@ -1,4 +1,4 @@
import 'package:cabo_counter/data_classes/game_session.dart'; import 'package:cabo_counter/data/game_session.dart';
class Globals { class Globals {
static Map<int, GameSession> gamesMap = <int, GameSession>{}; static Map<int, GameSession> gamesMap = <int, GameSession>{};

View File

@@ -1,4 +1,4 @@
import 'package:cabo_counter/data_classes/game_session.dart'; import 'package:cabo_counter/data/game_session.dart';
import 'package:cabo_counter/utility/theme.dart' as theme; import 'package:cabo_counter/utility/theme.dart' as theme;
import 'package:cabo_counter/views/round_view.dart'; import 'package:cabo_counter/views/round_view.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
@@ -70,18 +70,8 @@ class _ActiveGameViewState extends State<ActiveGameView> {
shrinkWrap: true, shrinkWrap: true,
itemCount: widget.gameSession.playerScores[0].length, itemCount: widget.gameSession.playerScores[0].length,
itemBuilder: (BuildContext context, int index) { itemBuilder: (BuildContext context, int index) {
return GestureDetector( return Padding(
onTap: () { padding: EdgeInsets.all(1),
Navigator.push(
context,
CupertinoPageRoute(
fullscreenDialog: true,
builder: (context) => RoundView(
gameSession: widget.gameSession,
roundNumber: index + 1),
),
);
},
child: CupertinoListTile( child: CupertinoListTile(
title: Text( title: Text(
'Runde ${index + 1}', 'Runde ${index + 1}',
@@ -90,6 +80,17 @@ class _ActiveGameViewState extends State<ActiveGameView> {
index + 1 == widget.gameSession.playerScores[0].length index + 1 == widget.gameSession.playerScores[0].length
? Text('', style: TextStyle(fontSize: 22)) ? Text('', style: TextStyle(fontSize: 22))
: Text('', style: TextStyle(fontSize: 22)), : Text('', style: TextStyle(fontSize: 22)),
onTap: () {
Navigator.push(
context,
CupertinoPageRoute(
fullscreenDialog: true,
builder: (context) => RoundView(
gameSession: widget.gameSession,
roundNumber: index + 1),
),
);
},
)); ));
}, },
), ),

View File

@@ -1,4 +1,4 @@
import 'package:cabo_counter/data_classes/game_session.dart'; import 'package:cabo_counter/data/game_session.dart';
import 'package:cabo_counter/utility/styles.dart'; import 'package:cabo_counter/utility/styles.dart';
import 'package:cabo_counter/views/active_game_view.dart'; import 'package:cabo_counter/views/active_game_view.dart';
import 'package:cabo_counter/views/mode_selection_view.dart'; import 'package:cabo_counter/views/mode_selection_view.dart';

View File

@@ -1,6 +1,6 @@
import 'dart:math'; import 'dart:math';
import 'package:cabo_counter/data_classes/game_session.dart'; import 'package:cabo_counter/data/game_session.dart';
import 'package:cabo_counter/views/active_game_view.dart'; import 'package:cabo_counter/views/active_game_view.dart';
import 'package:cabo_counter/views/create_game_view.dart'; import 'package:cabo_counter/views/create_game_view.dart';
import 'package:cabo_counter/views/information_view.dart'; import 'package:cabo_counter/views/information_view.dart';
@@ -73,36 +73,33 @@ class _MainMenuViewState extends State<MainMenuView> {
itemCount: gameSessionArray.length, itemCount: gameSessionArray.length,
itemBuilder: (context, index) { itemBuilder: (context, index) {
final session = gameSessionArray[index]; final session = gameSessionArray[index];
return GestureDetector( return Padding(
child: Padding( padding: EdgeInsets.symmetric(vertical: 10.0),
padding: EdgeInsets.symmetric(vertical: 10.0), child: CupertinoListTile(
child: CupertinoListTile( title: Text(session.gameTitle),
title: Text(session.gameTitle), subtitle:
leading: session.gameMode.toInt() == 0 Text('Modus: ${_translateGameMode(session.gameMode)}'),
? Icon(CupertinoIcons.hare_fill) trailing: Row(
: Icon(CupertinoIcons.time_solid), children: [
subtitle: Text('Gewinner*in: ${session.winner}'), Text('${session.round}'),
trailing: Row( SizedBox(width: 3),
children: [ Icon(CupertinoIcons.arrow_2_circlepath_circle_fill),
Text('${session.round}'), SizedBox(width: 15),
SizedBox(width: 3), Text('${session.players.length}'),
Icon(CupertinoIcons.arrow_2_circlepath_circle_fill), SizedBox(width: 3),
SizedBox(width: 6), Icon(CupertinoIcons.person_2_fill),
Text('${session.players.length}'), ],
SizedBox(width: 3), ),
Icon(CupertinoIcons.person_2_fill), onTap: () {
], Navigator.push(
context,
CupertinoPageRoute(
builder: (context) => ActiveGameView(
gameSession: gameSessionArray[index]),
), ),
onTap: () { );
Navigator.push( },
context, ));
CupertinoPageRoute(
builder: (context) => ActiveGameView(
gameSession: gameSessionArray[index]),
),
);
},
)));
}, },
), ),
), ),
@@ -110,6 +107,17 @@ class _MainMenuViewState extends State<MainMenuView> {
); );
} }
String _translateGameMode(int gameMode) {
switch (gameMode) {
case 0:
return '101 Punkte';
case 1:
return 'Unendlich';
default:
return '-';
}
}
void randomizeRoundNumbers() { void randomizeRoundNumbers() {
var random = Random(); var random = Random();
for (var s in gameSessionArray) { for (var s in gameSessionArray) {

View File

@@ -1,4 +1,4 @@
import 'package:cabo_counter/data_classes/game_session.dart'; import 'package:cabo_counter/data/game_session.dart';
import 'package:cabo_counter/utility/theme.dart' as theme; import 'package:cabo_counter/utility/theme.dart' as theme;
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';