init
This commit is contained in:
80
lib/features/tournament/data/models/player_model.dart
Normal file
80
lib/features/tournament/data/models/player_model.dart
Normal file
@@ -0,0 +1,80 @@
|
||||
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,
|
||||
}
|
||||
207
lib/features/tournament/data/models/player_model.g.dart
Normal file
207
lib/features/tournament/data/models/player_model.g.dart
Normal file
@@ -0,0 +1,207 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'player_model.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class PlayerModelAdapter extends TypeAdapter<PlayerModel> {
|
||||
@override
|
||||
final int typeId = 0;
|
||||
|
||||
@override
|
||||
PlayerModel read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return PlayerModel(
|
||||
id: fields[0] as String,
|
||||
name: fields[1] as String,
|
||||
gender: fields[2] as Gender,
|
||||
skillLevel: fields[3] as SkillLevel,
|
||||
positions: (fields[4] as List).cast<Position>(),
|
||||
wins: fields[5] as int,
|
||||
lastTeammates: (fields[6] as List).cast<String>(),
|
||||
hasSatOut: fields[7] as bool,
|
||||
isActive: fields[8] == null ? true : fields[8] as bool,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, PlayerModel obj) {
|
||||
writer
|
||||
..writeByte(9)
|
||||
..writeByte(0)
|
||||
..write(obj.id)
|
||||
..writeByte(1)
|
||||
..write(obj.name)
|
||||
..writeByte(2)
|
||||
..write(obj.gender)
|
||||
..writeByte(3)
|
||||
..write(obj.skillLevel)
|
||||
..writeByte(4)
|
||||
..write(obj.positions)
|
||||
..writeByte(5)
|
||||
..write(obj.wins)
|
||||
..writeByte(6)
|
||||
..write(obj.lastTeammates)
|
||||
..writeByte(7)
|
||||
..write(obj.hasSatOut)
|
||||
..writeByte(8)
|
||||
..write(obj.isActive);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is PlayerModelAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
|
||||
class GenderAdapter extends TypeAdapter<Gender> {
|
||||
@override
|
||||
final int typeId = 1;
|
||||
|
||||
@override
|
||||
Gender read(BinaryReader reader) {
|
||||
switch (reader.readByte()) {
|
||||
case 0:
|
||||
return Gender.male;
|
||||
case 1:
|
||||
return Gender.female;
|
||||
case 2:
|
||||
return Gender.diverse;
|
||||
default:
|
||||
return Gender.male;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, Gender obj) {
|
||||
switch (obj) {
|
||||
case Gender.male:
|
||||
writer.writeByte(0);
|
||||
break;
|
||||
case Gender.female:
|
||||
writer.writeByte(1);
|
||||
break;
|
||||
case Gender.diverse:
|
||||
writer.writeByte(2);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is GenderAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
|
||||
class SkillLevelAdapter extends TypeAdapter<SkillLevel> {
|
||||
@override
|
||||
final int typeId = 2;
|
||||
|
||||
@override
|
||||
SkillLevel read(BinaryReader reader) {
|
||||
switch (reader.readByte()) {
|
||||
case 0:
|
||||
return SkillLevel.low;
|
||||
case 1:
|
||||
return SkillLevel.mid;
|
||||
case 2:
|
||||
return SkillLevel.high;
|
||||
default:
|
||||
return SkillLevel.low;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, SkillLevel obj) {
|
||||
switch (obj) {
|
||||
case SkillLevel.low:
|
||||
writer.writeByte(0);
|
||||
break;
|
||||
case SkillLevel.mid:
|
||||
writer.writeByte(1);
|
||||
break;
|
||||
case SkillLevel.high:
|
||||
writer.writeByte(2);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is SkillLevelAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
|
||||
class PositionAdapter extends TypeAdapter<Position> {
|
||||
@override
|
||||
final int typeId = 3;
|
||||
|
||||
@override
|
||||
Position read(BinaryReader reader) {
|
||||
switch (reader.readByte()) {
|
||||
case 0:
|
||||
return Position.aussen;
|
||||
case 1:
|
||||
return Position.mitte;
|
||||
case 2:
|
||||
return Position.diagonal;
|
||||
case 3:
|
||||
return Position.zuspieler;
|
||||
case 4:
|
||||
return Position.libero;
|
||||
default:
|
||||
return Position.aussen;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, Position obj) {
|
||||
switch (obj) {
|
||||
case Position.aussen:
|
||||
writer.writeByte(0);
|
||||
break;
|
||||
case Position.mitte:
|
||||
writer.writeByte(1);
|
||||
break;
|
||||
case Position.diagonal:
|
||||
writer.writeByte(2);
|
||||
break;
|
||||
case Position.zuspieler:
|
||||
writer.writeByte(3);
|
||||
break;
|
||||
case Position.libero:
|
||||
writer.writeByte(4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is PositionAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
Reference in New Issue
Block a user