import 'package:json_annotation/json_annotation.dart';
import 'GameInfo.dart';
import 'HouseLevel.dart';
import 'CustomerService.dart';

part 'HouseInfo.g.dart';

@JsonSerializable()
class HouseInfo {
  HouseInfo(
      this.id,
      this.gameId,
      this.userId,
      this.seasonId,
      this.houseName,
      this.houseAbstract,
      this.video,
      this.gameInfo,
      this.playerNumber,
      this.maxNumber,
      this.bonus,
      this.houseType,
      this.houseLevel,
      this.gameHouseId,
      this.gameHousePassword,
      this.statusFlag,
      this.createUser,
      this.beginTime,
      this.createTime,
      this.scoreType,this.houseCode,this.killnumber,this.customerService);
  int id;
  int gameId; //游戏ID
  int userId; //用户ID
  int seasonId; //赛季ID
  String houseName; //房间名称
  String houseAbstract; //房间描述
  String video; //视频
  GameInfo gameInfo; //游戏信息
  int playerNumber; //加入人数
  int maxNumber; //最大加入人数
  int bonus; //奖金
  int houseType; //0为个人1为官方
   @JsonKey(name: 'houseLevelInfo')
  HouseLevel houseLevel;
  String gameHouseId; //游戏房间号
  String gameHousePassword; //游戏密码
  int statusFlag; //状态
  String createUser; //创建人
  int beginTime; //开始时间
  int createTime;//创建时间
  int scoreType;//评分类型 0.评分 1.吃鸡
String houseCode;//房间号
int killnumber;//击杀人数
CustomerService customerService;
  factory HouseInfo.fromJson(Map<String, dynamic> json) =>
      _$HouseInfoFromJson(json);

  Map<String, dynamic> toJson() => _$HouseInfoToJson(this);
  // 命名构造函数
  HouseInfo.empty();
  @override
  String toString() {
    return _$HouseInfoToJson(this).toString();
  }
}
