schleifchenturnier_25/lib/features/tournament/data/models/player_model.dart
MarcWieland e636f282ee init
2025-12-10 22:51:28 +01:00

80 lines
1.3 KiB
Dart

import 'package:hive/hive.dart';
part 'player_model.g.dart';
@HiveType(typeId: 0)
class PlayerModel extends HiveObject {
@HiveField(0)
final String id;
@HiveField(1)
String name;
@HiveField(2)
Gender gender;
@HiveField(3)
SkillLevel skillLevel;
@HiveField(4)
List<Position> positions; // Mehrere möglich
@HiveField(5)
int wins = 0;
@HiveField(6)
List<String> lastTeammates = []; // IDs der letzten Teamkollegen (max 5 behalten?)
@HiveField(7)
bool hasSatOut = false; // Schon mal ausgesetzt?
@HiveField(8, defaultValue: true)
bool isActive = true;
PlayerModel({
required this.id,
required this.name,
required this.gender,
required this.skillLevel,
required this.positions,
this.wins = 0,
this.lastTeammates = const [],
this.hasSatOut = false,
this.isActive = true,
});
}
@HiveType(typeId: 1) // Jede Enum braucht eine eigene typeId!
enum Gender {
@HiveField(0)
male,
@HiveField(1)
female,
@HiveField(2)
diverse,
}
@HiveType(typeId: 2)
enum SkillLevel {
@HiveField(0)
low,
@HiveField(1)
mid,
@HiveField(2)
high,
}
@HiveType(typeId: 3)
enum Position {
@HiveField(0)
aussen,
@HiveField(1)
mitte,
@HiveField(2)
diagonal,
@HiveField(3)
zuspieler,
@HiveField(4)
libero,
}