Updated folder structure
This commit is contained in:
46
lib/data/dto/round.dart
Normal file
46
lib/data/dto/round.dart
Normal file
@@ -0,0 +1,46 @@
|
||||
/// This class represents a single round in the game.
|
||||
/// It is stored within the [GameSession] class.
|
||||
/// [roundNum] is the number of the round its reppresenting.
|
||||
/// [scores] is a list of the actual scores the players got.
|
||||
/// [scoreUpdates] is a list of how the players scores updated this round.
|
||||
/// [kamikazePlayerIndex] is the index of the player who got kamikaze. If no one got
|
||||
/// kamikaze, this value is null.
|
||||
class Round {
|
||||
final int roundNum;
|
||||
final int caboPlayerIndex;
|
||||
final int? kamikazePlayerIndex;
|
||||
final List<int> scores;
|
||||
final List<int> scoreUpdates;
|
||||
|
||||
Round({
|
||||
required this.roundNum,
|
||||
required this.caboPlayerIndex,
|
||||
this.kamikazePlayerIndex,
|
||||
required this.scores,
|
||||
required this.scoreUpdates,
|
||||
});
|
||||
|
||||
@override
|
||||
toString() {
|
||||
return 'Round $roundNum, caboPlayerIndex: $caboPlayerIndex, '
|
||||
'kamikazePlayerIndex: $kamikazePlayerIndex, scores: $scores, '
|
||||
'scoreUpdates: $scoreUpdates, ';
|
||||
}
|
||||
|
||||
/// Converts the Round object to a JSON map.
|
||||
Map<String, dynamic> toJson() => {
|
||||
'roundNum': roundNum,
|
||||
'caboPlayerIndex': caboPlayerIndex,
|
||||
'kamikazePlayerIndex': kamikazePlayerIndex,
|
||||
'scores': scores,
|
||||
'scoreUpdates': scoreUpdates,
|
||||
};
|
||||
|
||||
/// Creates a Round object from a JSON map.
|
||||
Round.fromJson(Map<String, dynamic> json)
|
||||
: roundNum = json['roundNum'],
|
||||
caboPlayerIndex = json['caboPlayerIndex'],
|
||||
kamikazePlayerIndex = json['kamikazePlayerIndex'],
|
||||
scores = List<int>.from(json['scores']),
|
||||
scoreUpdates = List<int>.from(json['scoreUpdates']);
|
||||
}
|
||||
Reference in New Issue
Block a user