syntax = "proto2";

package RoomGameResult;

//option optimize_for = LITE_RUNTIME;
import "CommonResult.proto";

option java_package = "com.miaole.live.protocol.response";
option java_outer_classname = "RoomGameResult";

//游戏信息
message RoomGameInfo {
  optional string id =1; //数据ID
  optional string gameId = 2; //游戏ID
  optional string icon = 3; //icon
  optional string name = 4; //游戏名称
  optional bool  isPlaying =5; // 是否游戏中
  optional string gameChannel = 6;//游戏渠道
  optional string gameChConfig = 7;//游戏渠道数据JSON字符串
  optional string nameI18n = 8; //游戏名称国际化
  optional string gameExtJson = 9;//游戏扩展信息JSON字符串
}

//游戏列表
message RoomGameList {
  repeated RoomGameInfo list = 1;
  repeated RankUserInfo rankList = 2;//前N排行榜用户数据
  optional string gameRankUrl = 4;//游戏排行榜活动页URL
  repeated RoomGameInfo recentGameList = 5;//最近玩的游戏
}

message RankUserInfo {
  optional string userId = 1;//用户ID
  optional string nickName = 2;//昵称
  optional string headUrl = 3;//头像
}

//房间游戏状态
message RoomGameStatusInfo {
  optional string gameId = 1; //游戏ID 为空则为未开始
  optional string roomId = 2; // 房间ID
}

// luk游戏信息
message LukRoomGameInfo {
  optional int32 gameId = 1;// 游戏ID，为空则为未开始
  optional string roomId = 2; // 当前房间ID
  optional bool isShowedLobby = 3;// 是否展示在大厅（招募/取消）
  optional int32 status = 4;// 游戏状态，0-结束，1-游玩中，2-集结完成，3-招募中
}

// luk游戏大厅
message LukRoomGameLobby {
  optional int32 gameId = 1;// 游戏ID，0代表不区分游戏（全部）
  optional string roomId = 2; // 当前房间ID
  optional int32 status = 3;// 房间当前状态，0-没有权限，1-创建游戏，2-进行中（游戏状态在招募中/集结完成/游玩中/结束）
  repeated LukRoomGameList lobbyList = 4;// 大厅房间列表
}

// luk游戏房间信息
message LukRoomGameList {
  optional string roomId = 1;// 房间ID
  optional string roomName = 2;// 房间名字
  optional string roomUrl = 3;// 房间封面
  optional int32 type = 4;// 分类
  optional CommonResult.CuteInfo roomIdCuteInfo = 5;// 房间ID-靓号信息
  optional bool isInRoom = 6;// 是否当前房间
  optional int32 status = 7;// 游戏状态，0-结束，1-游玩中，2-集结完成，3-招募中
  optional int32 joinNum = 8;// 当前参与人数
  optional int32 gameLimit = 9;// 游戏人数上限
  optional string gameUrl = 10;// 游戏封面
  optional string gameLabelUrl = 11;// 游戏角标
  optional int32 gameId = 12;// 游戏id
}

// luk游戏配置列表
message LukGameConfigList {
  repeated LukGameConfig list = 1;// 游戏配置列表
}

// luk游戏配置信息
message LukGameConfig {
  optional int32 gameId = 1;// 游戏ID
  optional string gameName = 2;// 游戏名字
  optional string gameDesc = 3;// 游戏说明
  optional int32 giftLimit = 4;// 游戏最大参与人数
  optional string gameUrl = 5;// 游戏封面
  optional int32 sequence = 6;// 游戏排序
}