CreateGameView erstellen #67
@@ -43,6 +43,12 @@ class _CreateGameViewState extends State<CreateGameView> {
|
||||
/// List of all players from the database
|
||||
List<Player> playerList = [];
|
||||
|
||||
|
sneeex marked this conversation as resolved
Outdated
|
||||
/// List of players filtered based on the selected group
|
||||
/// If a group is selected, this list contains all players from [playerList]
|
||||
/// who are not members of the selected group. If no group is selected,
|
||||
/// this list is identical to [playerList].
|
||||
List<Player> filteredPlayerList = [];
|
||||
|
||||
/// The currently selected group
|
||||
Group? selectedGroup;
|
||||
|
||||
@@ -57,6 +63,8 @@ class _CreateGameViewState extends State<CreateGameView> {
|
||||
/// the [ChooseRulesetView]
|
||||
int selectedRulesetIndex = -1;
|
||||
|
||||
/// The index of the currently selected game in [games] to mark it in
|
||||
/// the [ChooseGameView]
|
||||
int selectedGameIndex = -1;
|
||||
|
||||
/// The currently selected players
|
||||
@@ -105,6 +113,7 @@ class _CreateGameViewState extends State<CreateGameView> {
|
||||
Future.wait([_allGroupsFuture, _allPlayersFuture]).then((result) async {
|
||||
groupsList = result[0] as List<Group>;
|
||||
playerList = result[1] as List<Player>;
|
||||
filteredPlayerList = List.from(playerList);
|
||||
|
flixcoo marked this conversation as resolved
Outdated
sneeex
commented
macht das nicht mehr sinn, rein logisch, die ausserhalb der future wait zu haben? weil die hat ja nichts in der future wait zu suchen oder? macht das nicht mehr sinn, rein logisch, die ausserhalb der future wait zu haben? weil die hat ja nichts in der future wait zu suchen oder?
flixcoo
commented
theoreitisch ist das egal wo das ist hauptsache nach der future theoreitisch ist das egal wo das ist hauptsache nach der future
sneeex
commented
ja ich weiß aber macht es nicht mehr sinn das ausserhalb zu machen ja ich weiß aber macht es nicht mehr sinn das ausserhalb zu machen
sneeex
commented
so vom logischen so vom logischen
|
||||
});
|
||||
}
|
||||
|
||||
@@ -194,6 +203,15 @@ class _CreateGameViewState extends State<CreateGameView> {
|
||||
),
|
||||
);
|
||||
selectedGroupId = selectedGroup?.id ?? '';
|
||||
if (selectedGroup != null) {
|
||||
filteredPlayerList = playerList
|
||||
.where(
|
||||
(p) => !selectedGroup!.members.any((m) => m.id == p.id),
|
||||
)
|
||||
.toList();
|
||||
} else {
|
||||
filteredPlayerList = List.from(playerList);
|
||||
}
|
||||
setState(() {});
|
||||
},
|
||||
),
|
||||
@@ -201,15 +219,7 @@ class _CreateGameViewState extends State<CreateGameView> {
|
||||
child: PlayerSelection(
|
||||
key: ValueKey(selectedGroup?.id ?? 'no_group'),
|
||||
initialSelectedPlayers: selectedPlayers ?? [],
|
||||
availablePlayers: selectedGroup == null
|
||||
? playerList
|
||||
: playerList
|
||||
.where(
|
||||
(p) => !selectedGroup!.members.any(
|
||||
(m) => m.id == p.id,
|
||||
),
|
||||
)
|
||||
.toList(),
|
||||
availablePlayers: filteredPlayerList,
|
||||
onChanged: (value) {
|
||||
setState(() {
|
||||
|
flixcoo marked this conversation as resolved
Outdated
sneeex
commented
auch hier print auch hier print
|
||||
selectedPlayers = value;
|
||||
@@ -226,7 +236,7 @@ class _CreateGameViewState extends State<CreateGameView> {
|
||||
Game game = Game(
|
||||
name: _gameNameController.text.trim(),
|
||||
createdAt: DateTime.now(),
|
||||
group: selectedGroup!,
|
||||
group: selectedGroup,
|
||||
|
sneeex marked this conversation as resolved
Outdated
sneeex
commented
<img width="318" alt="grafik.png" src="attachments/1bb19145-834c-4a72-9399-a43972f77e46">
game lässt sich nicht erstellen, obwohl spieler, game name und ruleset ausgewählt ist (funktioniert auch mit 2 spielern nicht, hier muss aber darauf geachtet werden, dass ein spiel nur mit min. 2 spielern erstellt werden kann)
flixcoo
commented
Ja ups haha ich hab ganz vergessen irgendwas mit den ausgewählten Spielern zu machen, hab die einfach nur geprinted haha. Hab die jetzt auch included und sollte jetzt funktionieren Ja ups haha ich hab ganz vergessen irgendwas mit den ausgewählten Spielern zu machen, hab die einfach nur geprinted haha. Hab die jetzt auch included und sollte jetzt funktionieren
|
||||
players: selectedPlayers,
|
||||
);
|
||||
await db.gameDao.addGame(game: game);
|
||||
|
||||
Reference in New Issue
Block a user
warum auch hier bei allen vars comments??
Damit halt jede Variable klar ist und man auch entsprechende Docs hat, wenn man darüber hovert