public/protocol/gamehall/game.pb.go

5903 lines
205 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.27.1-devel
// protoc v3.19.4
// source: game.proto
package gamehall
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
//操作结果
type OpResultCode_Game int32
const (
OpResultCode_Game_OPRC_Sucess_Game OpResultCode_Game = 0 //成功
OpResultCode_Game_OPRC_Error_Game OpResultCode_Game = 1 //失败
OpResultCode_Game_OPRC_RoomNotExist_Game OpResultCode_Game = 1016 //房间不存在
OpResultCode_Game_OPRC_GameNotExist_Game OpResultCode_Game = 1017 //游戏不存在
OpResultCode_Game_OPRC_GameHadClosed OpResultCode_Game = 1018 //暂未开放
OpResultCode_Game_OPRC_RoomIsFull_Game OpResultCode_Game = 1019 //房间已满
OpResultCode_Game_OPRC_RoomHadExist_Game OpResultCode_Game = 1020 //已经创建过房间了
OpResultCode_Game_OPRC_GameStarting_Game OpResultCode_Game = 1022 //抱歉,战斗已经开始,不能再加入了
OpResultCode_Game_OPRC_CannotWatchReasonInOther_Game OpResultCode_Game = 1024 //你在别的场里,不能进去观看
OpResultCode_Game_OPRC_MoneyNotEnough_Game OpResultCode_Game = 1040 //钻石不够了
OpResultCode_Game_OPRC_CannotWatchReasonRoomNotStart_Game OpResultCode_Game = 1042 //房间未开始,不能进去观看
OpResultCode_Game_OPRC_OnlyAllowClubMemberEnter_Game OpResultCode_Game = 1043 //只允许俱乐部成员进入
OpResultCode_Game_OPRC_YourResVerIsLow_Game OpResultCode_Game = 1044 //资源版本过低
OpResultCode_Game_OPRC_YourAppVerIsLow_Game OpResultCode_Game = 1045 //APK版本过低
OpResultCode_Game_OPRC_ScenePosFull_Game OpResultCode_Game = 1048 //位置满了不能再坐人
OpResultCode_Game_OPRC_SceneEnterForWatcher_Game OpResultCode_Game = 1050 //可以进入观战
OpResultCode_Game_OPRC_RoomHadClosed_Game OpResultCode_Game = 1053 //牌局已结束,正在结算
OpResultCode_Game_OPRC_SceneServerMaintain_Game OpResultCode_Game = 1054 //服务器维护中,请稍后创建
OpResultCode_Game_OPRC_SameIpForbid_Game OpResultCode_Game = 1055 //同ip不可进
OpResultCode_Game_OPRC_CoinNotEnough_Game OpResultCode_Game = 1056 //金币不足
OpResultCode_Game_OPRC_CoinTooMore_Game OpResultCode_Game = 1058 //金币太多了,请换高倍场
OpResultCode_Game_OPRC_InOtherGameIng_Game OpResultCode_Game = 1059 //正在进行其他游戏,请稍等
OpResultCode_Game_OPRC_OpYield_Game OpResultCode_Game = 1082 //操作被挂起
OpResultCode_Game_OPRC_AllocRoomIdFailed_Game OpResultCode_Game = 1097 //房间id获取失败
OpResultCode_Game_OPRC_PrivateRoomCountLimit_Game OpResultCode_Game = 1098 //私人房间上限
OpResultCode_Game_OPRC_RoomNotExit OpResultCode_Game = 1099 // 已经不在房间了
OpResultCode_Game_OPRC_MatchAudience OpResultCode_Game = 1100 // 不在比赛观战白名单
OpResultCode_Game_OPRC_PasswordError OpResultCode_Game = 1101 //密码错误
OpResultCode_Game_OPRC_CostNotEnough OpResultCode_Game = 1102 //房卡不足
OpResultCode_Game_OPRC_LowerRice_ScenceMax_Game OpResultCode_Game = 1075 //超过最大下米数量
OpResultCode_Game_OPRC_LowerRice_PlayerMax_Game OpResultCode_Game = 1076 //超过单个用户最大下米数
OpResultCode_Game_OPRC_LowerRice_PlayerDownMax_Game OpResultCode_Game = 1077
OpResultCode_Game_OPRC_YourAreGamingCannotLeave_Game OpResultCode_Game = 1078
OpResultCode_Game_OPRC_ThirdPltProcessing_Game OpResultCode_Game = 1096 //三方平台正在处理中
OpResultCode_Game_OPRC_RoomGameTimes_Game OpResultCode_Game = 1103 //超过最大游戏次数
OpResultCode_Game_OPRC_MustBindPromoter_Game OpResultCode_Game = 1113 //必须绑定推广员
OpResultCode_Game_Oprc_Club_ClubIsClose_Game OpResultCode_Game = 5023 //俱乐部没有开放
//DG
OpResultCode_Game_OPRC_Dg_RegistErr_Game OpResultCode_Game = 9000
OpResultCode_Game_OPRC_Dg_LoginErr_Game OpResultCode_Game = 9001
OpResultCode_Game_OPRC_Dg_PlatErr_Game OpResultCode_Game = 9002
OpResultCode_Game_OPRC_Dg_QuotaNotEnough_Game OpResultCode_Game = 9003 //平台DG配额不足
OpResultCode_Game_OPRC_Thr_GameClose_Game OpResultCode_Game = 9010 //游戏维护中
)
// Enum value maps for OpResultCode_Game.
var (
OpResultCode_Game_name = map[int32]string{
0: "OPRC_Sucess_Game",
1: "OPRC_Error_Game",
1016: "OPRC_RoomNotExist_Game",
1017: "OPRC_GameNotExist_Game",
1018: "OPRC_GameHadClosed",
1019: "OPRC_RoomIsFull_Game",
1020: "OPRC_RoomHadExist_Game",
1022: "OPRC_GameStarting_Game",
1024: "OPRC_CannotWatchReasonInOther_Game",
1040: "OPRC_MoneyNotEnough_Game",
1042: "OPRC_CannotWatchReasonRoomNotStart_Game",
1043: "OPRC_OnlyAllowClubMemberEnter_Game",
1044: "OPRC_YourResVerIsLow_Game",
1045: "OPRC_YourAppVerIsLow_Game",
1048: "OPRC_ScenePosFull_Game",
1050: "OPRC_SceneEnterForWatcher_Game",
1053: "OPRC_RoomHadClosed_Game",
1054: "OPRC_SceneServerMaintain_Game",
1055: "OPRC_SameIpForbid_Game",
1056: "OPRC_CoinNotEnough_Game",
1058: "OPRC_CoinTooMore_Game",
1059: "OPRC_InOtherGameIng_Game",
1082: "OPRC_OpYield_Game",
1097: "OPRC_AllocRoomIdFailed_Game",
1098: "OPRC_PrivateRoomCountLimit_Game",
1099: "OPRC_RoomNotExit",
1100: "OPRC_MatchAudience",
1101: "OPRC_PasswordError",
1102: "OPRC_CostNotEnough",
1075: "OPRC_LowerRice_ScenceMax_Game",
1076: "OPRC_LowerRice_PlayerMax_Game",
1077: "OPRC_LowerRice_PlayerDownMax_Game",
1078: "OPRC_YourAreGamingCannotLeave_Game",
1096: "OPRC_ThirdPltProcessing_Game",
1103: "OPRC_RoomGameTimes_Game",
1113: "OPRC_MustBindPromoter_Game",
5023: "Oprc_Club_ClubIsClose_Game",
9000: "OPRC_Dg_RegistErr_Game",
9001: "OPRC_Dg_LoginErr_Game",
9002: "OPRC_Dg_PlatErr_Game",
9003: "OPRC_Dg_QuotaNotEnough_Game",
9010: "OPRC_Thr_GameClose_Game",
}
OpResultCode_Game_value = map[string]int32{
"OPRC_Sucess_Game": 0,
"OPRC_Error_Game": 1,
"OPRC_RoomNotExist_Game": 1016,
"OPRC_GameNotExist_Game": 1017,
"OPRC_GameHadClosed": 1018,
"OPRC_RoomIsFull_Game": 1019,
"OPRC_RoomHadExist_Game": 1020,
"OPRC_GameStarting_Game": 1022,
"OPRC_CannotWatchReasonInOther_Game": 1024,
"OPRC_MoneyNotEnough_Game": 1040,
"OPRC_CannotWatchReasonRoomNotStart_Game": 1042,
"OPRC_OnlyAllowClubMemberEnter_Game": 1043,
"OPRC_YourResVerIsLow_Game": 1044,
"OPRC_YourAppVerIsLow_Game": 1045,
"OPRC_ScenePosFull_Game": 1048,
"OPRC_SceneEnterForWatcher_Game": 1050,
"OPRC_RoomHadClosed_Game": 1053,
"OPRC_SceneServerMaintain_Game": 1054,
"OPRC_SameIpForbid_Game": 1055,
"OPRC_CoinNotEnough_Game": 1056,
"OPRC_CoinTooMore_Game": 1058,
"OPRC_InOtherGameIng_Game": 1059,
"OPRC_OpYield_Game": 1082,
"OPRC_AllocRoomIdFailed_Game": 1097,
"OPRC_PrivateRoomCountLimit_Game": 1098,
"OPRC_RoomNotExit": 1099,
"OPRC_MatchAudience": 1100,
"OPRC_PasswordError": 1101,
"OPRC_CostNotEnough": 1102,
"OPRC_LowerRice_ScenceMax_Game": 1075,
"OPRC_LowerRice_PlayerMax_Game": 1076,
"OPRC_LowerRice_PlayerDownMax_Game": 1077,
"OPRC_YourAreGamingCannotLeave_Game": 1078,
"OPRC_ThirdPltProcessing_Game": 1096,
"OPRC_RoomGameTimes_Game": 1103,
"OPRC_MustBindPromoter_Game": 1113,
"Oprc_Club_ClubIsClose_Game": 5023,
"OPRC_Dg_RegistErr_Game": 9000,
"OPRC_Dg_LoginErr_Game": 9001,
"OPRC_Dg_PlatErr_Game": 9002,
"OPRC_Dg_QuotaNotEnough_Game": 9003,
"OPRC_Thr_GameClose_Game": 9010,
}
)
func (x OpResultCode_Game) Enum() *OpResultCode_Game {
p := new(OpResultCode_Game)
*p = x
return p
}
func (x OpResultCode_Game) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (OpResultCode_Game) Descriptor() protoreflect.EnumDescriptor {
return file_game_proto_enumTypes[0].Descriptor()
}
func (OpResultCode_Game) Type() protoreflect.EnumType {
return &file_game_proto_enumTypes[0]
}
func (x OpResultCode_Game) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use OpResultCode_Game.Descriptor instead.
func (OpResultCode_Game) EnumDescriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{0}
}
type GameHallPacketID int32
const (
// client -> worldsrv 协议
// 消息id 2200-2319
// 弃用消息号
GameHallPacketID_PACKET_GameHall_ZERO GameHallPacketID = 0
// 创建房间
GameHallPacketID_PACKET_CS_CREATEROOM GameHallPacketID = 2202
GameHallPacketID_PACKET_SC_CREATEROOM GameHallPacketID = 2203
// 进入房间
GameHallPacketID_PACKET_CS_ENTERROOM GameHallPacketID = 2204
GameHallPacketID_PACKET_SC_ENTERROOM GameHallPacketID = 2205
// 返回房间
GameHallPacketID_PACKET_CS_RETURNROOM GameHallPacketID = 2206
GameHallPacketID_PACKET_SC_RETURNROOM GameHallPacketID = 2207
// 进入游戏
GameHallPacketID_PACKET_CS_ENTERGAME GameHallPacketID = 2209
GameHallPacketID_PACKET_SC_ENTERGAME GameHallPacketID = 2210
// 退出游戏
GameHallPacketID_PACKET_CS_QUITGAME GameHallPacketID = 2211
GameHallPacketID_PACKET_SC_QUITGAME GameHallPacketID = 2212
// 获取游戏分场配置
GameHallPacketID_PACKET_CS_GETGAMECONFIG GameHallPacketID = 2231
GameHallPacketID_PACKET_SC_GETGAMECONFIG GameHallPacketID = 2232
// 修改游戏开关
GameHallPacketID_PACKET_SC_CHANGEGAMESTATUS GameHallPacketID = 2233
// 充值弹框协议
GameHallPacketID_PACKET_SC_PLAYERRECHARGEANSWER GameHallPacketID = 2258
// 创建竞技馆私人房
GameHallPacketID_PACKET_CS_CREATEPRIVATEROOM GameHallPacketID = 2272
GameHallPacketID_PACKET_SC_CREATEPRIVATEROOM GameHallPacketID = 2273
// 查询竞技馆私人房列表
GameHallPacketID_PACKET_CS_GETPRIVATEROOMLIST GameHallPacketID = 2274
GameHallPacketID_PACKET_SC_GETPRIVATEROOMLIST GameHallPacketID = 2275
// 查询自由桌房间列表
GameHallPacketID_PACKET_CS_QUERYROOMINFO GameHallPacketID = 2280
GameHallPacketID_PACKET_SC_QUERYROOMINFO GameHallPacketID = 2281
// 同步房间下注状态
GameHallPacketID_PACKET_SC_GAMESTATE GameHallPacketID = 2285
// 观众进入房间
GameHallPacketID_PACKET_CS_AUDIENCE_ENTERROOM GameHallPacketID = 2208
// 观众坐下
GameHallPacketID_PACKET_CS_AUDIENCESIT GameHallPacketID = 2293
GameHallPacketID_PACKET_SC_AUDIENCESIT GameHallPacketID = 2294
// 公告
GameHallPacketID_PACKET_CS_COMNOTICE GameHallPacketID = 2295
GameHallPacketID_PACKET_SC_COMNOTICE GameHallPacketID = 2296
// 界面入口开关
GameHallPacketID_PACKET_SC_CHANGEENTRYSWITCH GameHallPacketID = 2297
// 公告更新
GameHallPacketID_PACKET_SC_NoticeChange GameHallPacketID = 2298
// 保持更新
GameHallPacketID_PACKET_CSTouchType GameHallPacketID = 2299
// 竞技馆房间信息
GameHallPacketID_PACKET_CSRoomConfig GameHallPacketID = 2300
GameHallPacketID_PACKET_SCRoomConfig GameHallPacketID = 2301
// 启动招募
GameHallPacketID_PACKET_CSRoomRecruit GameHallPacketID = 2302
GameHallPacketID_PACKET_SCRoomRecruit GameHallPacketID = 2303
// 邀请加入房间
GameHallPacketID_PACKET_CSInviteJoinRoom GameHallPacketID = 2304
GameHallPacketID_PACKET_SCInviteJoinRoom GameHallPacketID = 2305
// client -> gamesrv 协议
// 消息id 8000~8099
// 离开房间
GameHallPacketID_PACKET_CS_LEAVEROOM GameHallPacketID = 8001
GameHallPacketID_PACKET_SC_LEAVEROOM GameHallPacketID = 8002
// 解散房间
GameHallPacketID_PACKET_CS_DESTROYROOM GameHallPacketID = 8003
GameHallPacketID_PACKET_SC_DESTROYROOM GameHallPacketID = 8004
// 强制开始
GameHallPacketID_PACKET_CS_FORCESTART GameHallPacketID = 8005
GameHallPacketID_PACKET_SC_FORCESTART GameHallPacketID = 8006
// 观众离开房间
GameHallPacketID_PACKET_CS_AUDIENCE_LEAVEROOM GameHallPacketID = 8007
// 玩家切换标志,暂离状态
GameHallPacketID_PACKET_CS_PLAYER_SWITCHFLAG GameHallPacketID = 8008
// 房间事件,互动表情
GameHallPacketID_PACKET_CSRoomEvent GameHallPacketID = 8009
GameHallPacketID_PACKET_SCRoomEvent GameHallPacketID = 8010
)
// Enum value maps for GameHallPacketID.
var (
GameHallPacketID_name = map[int32]string{
0: "PACKET_GameHall_ZERO",
2202: "PACKET_CS_CREATEROOM",
2203: "PACKET_SC_CREATEROOM",
2204: "PACKET_CS_ENTERROOM",
2205: "PACKET_SC_ENTERROOM",
2206: "PACKET_CS_RETURNROOM",
2207: "PACKET_SC_RETURNROOM",
2209: "PACKET_CS_ENTERGAME",
2210: "PACKET_SC_ENTERGAME",
2211: "PACKET_CS_QUITGAME",
2212: "PACKET_SC_QUITGAME",
2231: "PACKET_CS_GETGAMECONFIG",
2232: "PACKET_SC_GETGAMECONFIG",
2233: "PACKET_SC_CHANGEGAMESTATUS",
2258: "PACKET_SC_PLAYERRECHARGEANSWER",
2272: "PACKET_CS_CREATEPRIVATEROOM",
2273: "PACKET_SC_CREATEPRIVATEROOM",
2274: "PACKET_CS_GETPRIVATEROOMLIST",
2275: "PACKET_SC_GETPRIVATEROOMLIST",
2280: "PACKET_CS_QUERYROOMINFO",
2281: "PACKET_SC_QUERYROOMINFO",
2285: "PACKET_SC_GAMESTATE",
2208: "PACKET_CS_AUDIENCE_ENTERROOM",
2293: "PACKET_CS_AUDIENCESIT",
2294: "PACKET_SC_AUDIENCESIT",
2295: "PACKET_CS_COMNOTICE",
2296: "PACKET_SC_COMNOTICE",
2297: "PACKET_SC_CHANGEENTRYSWITCH",
2298: "PACKET_SC_NoticeChange",
2299: "PACKET_CSTouchType",
2300: "PACKET_CSRoomConfig",
2301: "PACKET_SCRoomConfig",
2302: "PACKET_CSRoomRecruit",
2303: "PACKET_SCRoomRecruit",
2304: "PACKET_CSInviteJoinRoom",
2305: "PACKET_SCInviteJoinRoom",
8001: "PACKET_CS_LEAVEROOM",
8002: "PACKET_SC_LEAVEROOM",
8003: "PACKET_CS_DESTROYROOM",
8004: "PACKET_SC_DESTROYROOM",
8005: "PACKET_CS_FORCESTART",
8006: "PACKET_SC_FORCESTART",
8007: "PACKET_CS_AUDIENCE_LEAVEROOM",
8008: "PACKET_CS_PLAYER_SWITCHFLAG",
8009: "PACKET_CSRoomEvent",
8010: "PACKET_SCRoomEvent",
}
GameHallPacketID_value = map[string]int32{
"PACKET_GameHall_ZERO": 0,
"PACKET_CS_CREATEROOM": 2202,
"PACKET_SC_CREATEROOM": 2203,
"PACKET_CS_ENTERROOM": 2204,
"PACKET_SC_ENTERROOM": 2205,
"PACKET_CS_RETURNROOM": 2206,
"PACKET_SC_RETURNROOM": 2207,
"PACKET_CS_ENTERGAME": 2209,
"PACKET_SC_ENTERGAME": 2210,
"PACKET_CS_QUITGAME": 2211,
"PACKET_SC_QUITGAME": 2212,
"PACKET_CS_GETGAMECONFIG": 2231,
"PACKET_SC_GETGAMECONFIG": 2232,
"PACKET_SC_CHANGEGAMESTATUS": 2233,
"PACKET_SC_PLAYERRECHARGEANSWER": 2258,
"PACKET_CS_CREATEPRIVATEROOM": 2272,
"PACKET_SC_CREATEPRIVATEROOM": 2273,
"PACKET_CS_GETPRIVATEROOMLIST": 2274,
"PACKET_SC_GETPRIVATEROOMLIST": 2275,
"PACKET_CS_QUERYROOMINFO": 2280,
"PACKET_SC_QUERYROOMINFO": 2281,
"PACKET_SC_GAMESTATE": 2285,
"PACKET_CS_AUDIENCE_ENTERROOM": 2208,
"PACKET_CS_AUDIENCESIT": 2293,
"PACKET_SC_AUDIENCESIT": 2294,
"PACKET_CS_COMNOTICE": 2295,
"PACKET_SC_COMNOTICE": 2296,
"PACKET_SC_CHANGEENTRYSWITCH": 2297,
"PACKET_SC_NoticeChange": 2298,
"PACKET_CSTouchType": 2299,
"PACKET_CSRoomConfig": 2300,
"PACKET_SCRoomConfig": 2301,
"PACKET_CSRoomRecruit": 2302,
"PACKET_SCRoomRecruit": 2303,
"PACKET_CSInviteJoinRoom": 2304,
"PACKET_SCInviteJoinRoom": 2305,
"PACKET_CS_LEAVEROOM": 8001,
"PACKET_SC_LEAVEROOM": 8002,
"PACKET_CS_DESTROYROOM": 8003,
"PACKET_SC_DESTROYROOM": 8004,
"PACKET_CS_FORCESTART": 8005,
"PACKET_SC_FORCESTART": 8006,
"PACKET_CS_AUDIENCE_LEAVEROOM": 8007,
"PACKET_CS_PLAYER_SWITCHFLAG": 8008,
"PACKET_CSRoomEvent": 8009,
"PACKET_SCRoomEvent": 8010,
}
)
func (x GameHallPacketID) Enum() *GameHallPacketID {
p := new(GameHallPacketID)
*p = x
return p
}
func (x GameHallPacketID) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (GameHallPacketID) Descriptor() protoreflect.EnumDescriptor {
return file_game_proto_enumTypes[1].Descriptor()
}
func (GameHallPacketID) Type() protoreflect.EnumType {
return &file_game_proto_enumTypes[1]
}
func (x GameHallPacketID) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use GameHallPacketID.Descriptor instead.
func (GameHallPacketID) EnumDescriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{1}
}
type DataType int32
const (
DataType_Zero DataType = 0
DataType_PrivateRoomList DataType = 1 // 竞技馆房间列表 返回消息 PACKET_SC_GETPRIVATEROOMLIST
)
// Enum value maps for DataType.
var (
DataType_name = map[int32]string{
0: "Zero",
1: "PrivateRoomList",
}
DataType_value = map[string]int32{
"Zero": 0,
"PrivateRoomList": 1,
}
)
func (x DataType) Enum() *DataType {
p := new(DataType)
*p = x
return p
}
func (x DataType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (DataType) Descriptor() protoreflect.EnumDescriptor {
return file_game_proto_enumTypes[2].Descriptor()
}
func (DataType) Type() protoreflect.EnumType {
return &file_game_proto_enumTypes[2]
}
func (x DataType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use DataType.Descriptor instead.
func (DataType) EnumDescriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{2}
}
//PACKET_CS_CREATEROOM
type CSCreateRoom struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameId int32 `protobuf:"varint,1,opt,name=GameId,proto3" json:"GameId,omitempty"` //游戏模式
BaseCoin int32 `protobuf:"varint,2,opt,name=BaseCoin,proto3" json:"BaseCoin,omitempty"` //底分(tienlen)
SceneMode int32 `protobuf:"varint,3,opt,name=SceneMode,proto3" json:"SceneMode,omitempty"` //牌桌类型 0.公共 2.私人
MaxPlayerNum int32 `protobuf:"varint,4,opt,name=MaxPlayerNum,proto3" json:"MaxPlayerNum,omitempty"` //人数(tienlen)
// 房间参数
// 例如,十三水 参数规则定义在 data/gameconfig/thirteenfree.json中的Params,按Params声明顺序传参数
// [0,0,30,50,0] 4人自动摆牌30秒底分50没有癞子
// [1,1,90,50000,1] 8人手动摆牌90秒底分50000有癞子
Params []int32 `protobuf:"varint,5,rep,packed,name=Params,proto3" json:"Params,omitempty"`
Id int32 `protobuf:"varint,6,opt,name=Id,proto3" json:"Id,omitempty"` // gamefreeid
}
func (x *CSCreateRoom) Reset() {
*x = CSCreateRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSCreateRoom) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSCreateRoom) ProtoMessage() {}
func (x *CSCreateRoom) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSCreateRoom.ProtoReflect.Descriptor instead.
func (*CSCreateRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{0}
}
func (x *CSCreateRoom) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *CSCreateRoom) GetBaseCoin() int32 {
if x != nil {
return x.BaseCoin
}
return 0
}
func (x *CSCreateRoom) GetSceneMode() int32 {
if x != nil {
return x.SceneMode
}
return 0
}
func (x *CSCreateRoom) GetMaxPlayerNum() int32 {
if x != nil {
return x.MaxPlayerNum
}
return 0
}
func (x *CSCreateRoom) GetParams() []int32 {
if x != nil {
return x.Params
}
return nil
}
func (x *CSCreateRoom) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
//PACKET_SC_CREATEROOM
type SCCreateRoom struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameId int32 `protobuf:"varint,1,opt,name=GameId,proto3" json:"GameId,omitempty"` //游戏模式
BaseCoin int32 `protobuf:"varint,2,opt,name=BaseCoin,proto3" json:"BaseCoin,omitempty"` //底分
SceneMode int32 `protobuf:"varint,3,opt,name=SceneMode,proto3" json:"SceneMode,omitempty"` //牌桌类型 0.公共 2.私人
MaxPlayerNum int32 `protobuf:"varint,4,opt,name=MaxPlayerNum,proto3" json:"MaxPlayerNum,omitempty"` //人数
Params []int32 `protobuf:"varint,5,rep,packed,name=Params,proto3" json:"Params,omitempty"` //场参数
OpRetCode OpResultCode_Game `protobuf:"varint,6,opt,name=OpRetCode,proto3,enum=gamehall.OpResultCode_Game" json:"OpRetCode,omitempty"` //结果
}
func (x *SCCreateRoom) Reset() {
*x = SCCreateRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCCreateRoom) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCCreateRoom) ProtoMessage() {}
func (x *SCCreateRoom) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCCreateRoom.ProtoReflect.Descriptor instead.
func (*SCCreateRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{1}
}
func (x *SCCreateRoom) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *SCCreateRoom) GetBaseCoin() int32 {
if x != nil {
return x.BaseCoin
}
return 0
}
func (x *SCCreateRoom) GetSceneMode() int32 {
if x != nil {
return x.SceneMode
}
return 0
}
func (x *SCCreateRoom) GetMaxPlayerNum() int32 {
if x != nil {
return x.MaxPlayerNum
}
return 0
}
func (x *SCCreateRoom) GetParams() []int32 {
if x != nil {
return x.Params
}
return nil
}
func (x *SCCreateRoom) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
//PACKET_CS_ENTERROOM
//PACKET_CS_AUDIENCE_ENTERROOM
//玩家请求进入游戏
type CSEnterRoom struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoomId int32 `protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"` //房间编号
GameId int32 `protobuf:"varint,2,opt,name=GameId,proto3" json:"GameId,omitempty"` //游戏编号, 不需要了
Password string `protobuf:"bytes,3,opt,name=Password,proto3" json:"Password,omitempty"` //房间密码
}
func (x *CSEnterRoom) Reset() {
*x = CSEnterRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSEnterRoom) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSEnterRoom) ProtoMessage() {}
func (x *CSEnterRoom) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSEnterRoom.ProtoReflect.Descriptor instead.
func (*CSEnterRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{2}
}
func (x *CSEnterRoom) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *CSEnterRoom) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *CSEnterRoom) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
//PACKET_SC_ENTERROOM
type SCEnterRoom struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameId int32 `protobuf:"varint,1,opt,name=GameId,proto3" json:"GameId,omitempty"` //游戏ID
ModeType int32 `protobuf:"varint,2,opt,name=ModeType,proto3" json:"ModeType,omitempty"` //游戏模式(玩法,已经不用了)
Params []int32 `protobuf:"varint,3,rep,packed,name=Params,proto3" json:"Params,omitempty"` //场参数
RoomId int32 `protobuf:"varint,4,opt,name=RoomId,proto3" json:"RoomId,omitempty"` //房间编号
HallId int32 `protobuf:"varint,5,opt,name=HallId,proto3" json:"HallId,omitempty"` //厅id
OpRetCode OpResultCode_Game `protobuf:"varint,6,opt,name=OpRetCode,proto3,enum=gamehall.OpResultCode_Game" json:"OpRetCode,omitempty"` //结果
ClubId int32 `protobuf:"varint,7,opt,name=ClubId,proto3" json:"ClubId,omitempty"`
GameFreeId int32 `protobuf:"varint,8,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` //游戏场次id
}
func (x *SCEnterRoom) Reset() {
*x = SCEnterRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCEnterRoom) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCEnterRoom) ProtoMessage() {}
func (x *SCEnterRoom) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCEnterRoom.ProtoReflect.Descriptor instead.
func (*SCEnterRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{3}
}
func (x *SCEnterRoom) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *SCEnterRoom) GetModeType() int32 {
if x != nil {
return x.ModeType
}
return 0
}
func (x *SCEnterRoom) GetParams() []int32 {
if x != nil {
return x.Params
}
return nil
}
func (x *SCEnterRoom) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *SCEnterRoom) GetHallId() int32 {
if x != nil {
return x.HallId
}
return 0
}
func (x *SCEnterRoom) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
func (x *SCEnterRoom) GetClubId() int32 {
if x != nil {
return x.ClubId
}
return 0
}
func (x *SCEnterRoom) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
//PACKET_CS_RETURNROOM
type CSReturnRoom struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ApkVer int32 `protobuf:"varint,1,opt,name=ApkVer,proto3" json:"ApkVer,omitempty"`
ResVer int32 `protobuf:"varint,2,opt,name=ResVer,proto3" json:"ResVer,omitempty"`
IsLoaded bool `protobuf:"varint,3,opt,name=IsLoaded,proto3" json:"IsLoaded,omitempty"`
RoomId int32 `protobuf:"varint,4,opt,name=RoomId,proto3" json:"RoomId,omitempty"` //int32 LogicId = 5; //这个字段是冗余的
}
func (x *CSReturnRoom) Reset() {
*x = CSReturnRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSReturnRoom) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSReturnRoom) ProtoMessage() {}
func (x *CSReturnRoom) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSReturnRoom.ProtoReflect.Descriptor instead.
func (*CSReturnRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{4}
}
func (x *CSReturnRoom) GetApkVer() int32 {
if x != nil {
return x.ApkVer
}
return 0
}
func (x *CSReturnRoom) GetResVer() int32 {
if x != nil {
return x.ResVer
}
return 0
}
func (x *CSReturnRoom) GetIsLoaded() bool {
if x != nil {
return x.IsLoaded
}
return false
}
func (x *CSReturnRoom) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
//PACKET_SC_RETURNROOM
type SCReturnRoom struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpRetCode OpResultCode_Game `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=gamehall.OpResultCode_Game" json:"OpRetCode,omitempty"` //结果
RoomId int32 `protobuf:"varint,2,opt,name=RoomId,proto3" json:"RoomId,omitempty"` //房间ID
GameId int32 `protobuf:"varint,3,opt,name=GameId,proto3" json:"GameId,omitempty"` //游戏ID
ModeType int32 `protobuf:"varint,4,opt,name=ModeType,proto3" json:"ModeType,omitempty"` //场类型
Params []int32 `protobuf:"varint,5,rep,packed,name=Params,proto3" json:"Params,omitempty"` //场参数
HallId int32 `protobuf:"varint,6,opt,name=HallId,proto3" json:"HallId,omitempty"` //厅id
MinApkVer int32 `protobuf:"varint,7,opt,name=MinApkVer,proto3" json:"MinApkVer,omitempty"` //最低apk版本号
LatestApkVer int32 `protobuf:"varint,8,opt,name=LatestApkVer,proto3" json:"LatestApkVer,omitempty"` //最新apk版本号
MinResVer int32 `protobuf:"varint,9,opt,name=MinResVer,proto3" json:"MinResVer,omitempty"` //最低资源版本号
LatestResVer int32 `protobuf:"varint,10,opt,name=LatestResVer,proto3" json:"LatestResVer,omitempty"` //最新资源版本号
IsLoaded bool `protobuf:"varint,11,opt,name=IsLoaded,proto3" json:"IsLoaded,omitempty"` //加载完成标记
ClubId int32 `protobuf:"varint,12,opt,name=ClubId,proto3" json:"ClubId,omitempty"`
}
func (x *SCReturnRoom) Reset() {
*x = SCReturnRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCReturnRoom) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCReturnRoom) ProtoMessage() {}
func (x *SCReturnRoom) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCReturnRoom.ProtoReflect.Descriptor instead.
func (*SCReturnRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{5}
}
func (x *SCReturnRoom) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
func (x *SCReturnRoom) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *SCReturnRoom) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *SCReturnRoom) GetModeType() int32 {
if x != nil {
return x.ModeType
}
return 0
}
func (x *SCReturnRoom) GetParams() []int32 {
if x != nil {
return x.Params
}
return nil
}
func (x *SCReturnRoom) GetHallId() int32 {
if x != nil {
return x.HallId
}
return 0
}
func (x *SCReturnRoom) GetMinApkVer() int32 {
if x != nil {
return x.MinApkVer
}
return 0
}
func (x *SCReturnRoom) GetLatestApkVer() int32 {
if x != nil {
return x.LatestApkVer
}
return 0
}
func (x *SCReturnRoom) GetMinResVer() int32 {
if x != nil {
return x.MinResVer
}
return 0
}
func (x *SCReturnRoom) GetLatestResVer() int32 {
if x != nil {
return x.LatestResVer
}
return 0
}
func (x *SCReturnRoom) GetIsLoaded() bool {
if x != nil {
return x.IsLoaded
}
return false
}
func (x *SCReturnRoom) GetClubId() int32 {
if x != nil {
return x.ClubId
}
return 0
}
//PACKET_CS_ENTERGAME
type CSEnterGame struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` //游戏id
OpParams []int32 `protobuf:"varint,2,rep,packed,name=OpParams,proto3" json:"OpParams,omitempty"`
Platform string `protobuf:"bytes,3,opt,name=Platform,proto3" json:"Platform,omitempty"`
ApkVer int32 `protobuf:"varint,4,opt,name=ApkVer,proto3" json:"ApkVer,omitempty"`
ResVer int32 `protobuf:"varint,5,opt,name=ResVer,proto3" json:"ResVer,omitempty"`
}
func (x *CSEnterGame) Reset() {
*x = CSEnterGame{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSEnterGame) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSEnterGame) ProtoMessage() {}
func (x *CSEnterGame) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSEnterGame.ProtoReflect.Descriptor instead.
func (*CSEnterGame) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{6}
}
func (x *CSEnterGame) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *CSEnterGame) GetOpParams() []int32 {
if x != nil {
return x.OpParams
}
return nil
}
func (x *CSEnterGame) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *CSEnterGame) GetApkVer() int32 {
if x != nil {
return x.ApkVer
}
return 0
}
func (x *CSEnterGame) GetResVer() int32 {
if x != nil {
return x.ResVer
}
return 0
}
//PACKET_SC_ENTERGAME
type SCEnterGame struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpCode OpResultCode_Game `protobuf:"varint,1,opt,name=OpCode,proto3,enum=gamehall.OpResultCode_Game" json:"OpCode,omitempty"` //操作码
Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` //
OpParams []int32 `protobuf:"varint,3,rep,packed,name=OpParams,proto3" json:"OpParams,omitempty"`
MinApkVer int32 `protobuf:"varint,4,opt,name=MinApkVer,proto3" json:"MinApkVer,omitempty"` //最低apk版本号
LatestApkVer int32 `protobuf:"varint,5,opt,name=LatestApkVer,proto3" json:"LatestApkVer,omitempty"` //最新apk版本号
MinResVer int32 `protobuf:"varint,6,opt,name=MinResVer,proto3" json:"MinResVer,omitempty"` //最低资源版本号
LatestResVer int32 `protobuf:"varint,7,opt,name=LatestResVer,proto3" json:"LatestResVer,omitempty"` //最新资源版本号
}
func (x *SCEnterGame) Reset() {
*x = SCEnterGame{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCEnterGame) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCEnterGame) ProtoMessage() {}
func (x *SCEnterGame) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCEnterGame.ProtoReflect.Descriptor instead.
func (*SCEnterGame) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{7}
}
func (x *SCEnterGame) GetOpCode() OpResultCode_Game {
if x != nil {
return x.OpCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
func (x *SCEnterGame) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *SCEnterGame) GetOpParams() []int32 {
if x != nil {
return x.OpParams
}
return nil
}
func (x *SCEnterGame) GetMinApkVer() int32 {
if x != nil {
return x.MinApkVer
}
return 0
}
func (x *SCEnterGame) GetLatestApkVer() int32 {
if x != nil {
return x.LatestApkVer
}
return 0
}
func (x *SCEnterGame) GetMinResVer() int32 {
if x != nil {
return x.MinResVer
}
return 0
}
func (x *SCEnterGame) GetLatestResVer() int32 {
if x != nil {
return x.LatestResVer
}
return 0
}
//PACKET_CS_QUITGAME
type CSQuitGame struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` //游戏id
IsAudience bool `protobuf:"varint,2,opt,name=IsAudience,proto3" json:"IsAudience,omitempty"` //是否是观众
}
func (x *CSQuitGame) Reset() {
*x = CSQuitGame{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSQuitGame) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSQuitGame) ProtoMessage() {}
func (x *CSQuitGame) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSQuitGame.ProtoReflect.Descriptor instead.
func (*CSQuitGame) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{8}
}
func (x *CSQuitGame) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *CSQuitGame) GetIsAudience() bool {
if x != nil {
return x.IsAudience
}
return false
}
//PACKET_SC_QUITGAME
type SCQuitGame struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpCode OpResultCode_Game `protobuf:"varint,1,opt,name=OpCode,proto3,enum=gamehall.OpResultCode_Game" json:"OpCode,omitempty"` //操作码
Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"`
Reason int32 `protobuf:"varint,3,opt,name=Reason,proto3" json:"Reason,omitempty"` //原因
}
func (x *SCQuitGame) Reset() {
*x = SCQuitGame{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCQuitGame) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCQuitGame) ProtoMessage() {}
func (x *SCQuitGame) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCQuitGame.ProtoReflect.Descriptor instead.
func (*SCQuitGame) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{9}
}
func (x *SCQuitGame) GetOpCode() OpResultCode_Game {
if x != nil {
return x.OpCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
func (x *SCQuitGame) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *SCQuitGame) GetReason() int32 {
if x != nil {
return x.Reason
}
return 0
}
type GameConfig1 struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LogicId int32 `protobuf:"varint,1,opt,name=LogicId,proto3" json:"LogicId,omitempty"` //对应DB_GameFree.xlsx中的id
LimitCoin int64 `protobuf:"varint,2,opt,name=LimitCoin,proto3" json:"LimitCoin,omitempty"` //进房下限
MaxCoinLimit int64 `protobuf:"varint,3,opt,name=MaxCoinLimit,proto3" json:"MaxCoinLimit,omitempty"` //入场上限
BaseScore int32 `protobuf:"varint,4,opt,name=BaseScore,proto3" json:"BaseScore,omitempty"` //底分
OtherIntParams []int64 `protobuf:"varint,5,rep,packed,name=OtherIntParams,proto3" json:"OtherIntParams,omitempty"` //其他参数
BetScore int32 `protobuf:"varint,6,opt,name=BetScore,proto3" json:"BetScore,omitempty"` //押注限制
MaxBetCoin []int32 `protobuf:"varint,7,rep,packed,name=MaxBetCoin,proto3" json:"MaxBetCoin,omitempty"` //多门押注限制
MatchMode int32 `protobuf:"varint,8,opt,name=MatchMode,proto3" json:"MatchMode,omitempty"` //0:默认1:队列
LotteryCoin int64 `protobuf:"varint,9,opt,name=LotteryCoin,proto3" json:"LotteryCoin,omitempty"` //彩金池
LotteryCfg string `protobuf:"bytes,10,opt,name=LotteryCfg,proto3" json:"LotteryCfg,omitempty"` //彩金池配置
Status bool `protobuf:"varint,11,opt,name=Status,proto3" json:"Status,omitempty"` //游戏开关 全局开关&&平台开关
SceneType int32 `protobuf:"varint,12,opt,name=SceneType,proto3" json:"SceneType,omitempty"` // 场次类型
ChessGradeLimit []int32 `protobuf:"varint,13,rep,packed,name=ChessGradeLimit,proto3" json:"ChessGradeLimit,omitempty"` // 入场象棋积分限制区间
RankType int32 `protobuf:"varint,14,opt,name=RankType,proto3" json:"RankType,omitempty"` // 段位类型
SceneAdd int32 `protobuf:"varint,15,opt,name=SceneAdd,proto3" json:"SceneAdd,omitempty"` // 场次加成
}
func (x *GameConfig1) Reset() {
*x = GameConfig1{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GameConfig1) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameConfig1) ProtoMessage() {}
func (x *GameConfig1) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameConfig1.ProtoReflect.Descriptor instead.
func (*GameConfig1) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{10}
}
func (x *GameConfig1) GetLogicId() int32 {
if x != nil {
return x.LogicId
}
return 0
}
func (x *GameConfig1) GetLimitCoin() int64 {
if x != nil {
return x.LimitCoin
}
return 0
}
func (x *GameConfig1) GetMaxCoinLimit() int64 {
if x != nil {
return x.MaxCoinLimit
}
return 0
}
func (x *GameConfig1) GetBaseScore() int32 {
if x != nil {
return x.BaseScore
}
return 0
}
func (x *GameConfig1) GetOtherIntParams() []int64 {
if x != nil {
return x.OtherIntParams
}
return nil
}
func (x *GameConfig1) GetBetScore() int32 {
if x != nil {
return x.BetScore
}
return 0
}
func (x *GameConfig1) GetMaxBetCoin() []int32 {
if x != nil {
return x.MaxBetCoin
}
return nil
}
func (x *GameConfig1) GetMatchMode() int32 {
if x != nil {
return x.MatchMode
}
return 0
}
func (x *GameConfig1) GetLotteryCoin() int64 {
if x != nil {
return x.LotteryCoin
}
return 0
}
func (x *GameConfig1) GetLotteryCfg() string {
if x != nil {
return x.LotteryCfg
}
return ""
}
func (x *GameConfig1) GetStatus() bool {
if x != nil {
return x.Status
}
return false
}
func (x *GameConfig1) GetSceneType() int32 {
if x != nil {
return x.SceneType
}
return 0
}
func (x *GameConfig1) GetChessGradeLimit() []int32 {
if x != nil {
return x.ChessGradeLimit
}
return nil
}
func (x *GameConfig1) GetRankType() int32 {
if x != nil {
return x.RankType
}
return 0
}
func (x *GameConfig1) GetSceneAdd() int32 {
if x != nil {
return x.SceneAdd
}
return 0
}
//PACKET_CS_GETGAMECONFIG
type CSGetGameConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` //平台
Channel string `protobuf:"bytes,2,opt,name=Channel,proto3" json:"Channel,omitempty"` //渠道号
GameId int32 `protobuf:"varint,3,opt,name=GameId,proto3" json:"GameId,omitempty"` //游戏id
}
func (x *CSGetGameConfig) Reset() {
*x = CSGetGameConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSGetGameConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSGetGameConfig) ProtoMessage() {}
func (x *CSGetGameConfig) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSGetGameConfig.ProtoReflect.Descriptor instead.
func (*CSGetGameConfig) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{11}
}
func (x *CSGetGameConfig) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *CSGetGameConfig) GetChannel() string {
if x != nil {
return x.Channel
}
return ""
}
func (x *CSGetGameConfig) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
type ChessRankInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Score int32 `protobuf:"varint,1,opt,name=Score,proto3" json:"Score,omitempty"` // 积分
Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` // 段位名称
}
func (x *ChessRankInfo) Reset() {
*x = ChessRankInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChessRankInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChessRankInfo) ProtoMessage() {}
func (x *ChessRankInfo) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ChessRankInfo.ProtoReflect.Descriptor instead.
func (*ChessRankInfo) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{12}
}
func (x *ChessRankInfo) GetScore() int32 {
if x != nil {
return x.Score
}
return 0
}
func (x *ChessRankInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
//PACKET_SC_GETGAMECONFIG
type SCGetGameConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameCfg []*GameConfig1 `protobuf:"bytes,1,rep,name=GameCfg,proto3" json:"GameCfg,omitempty"` //指定游戏的配置信息
GameId int32 `protobuf:"varint,2,opt,name=GameId,proto3" json:"GameId,omitempty"` //游戏Id
ChessRanks []*ChessRankInfo `protobuf:"bytes,3,rep,name=ChessRanks,proto3" json:"ChessRanks,omitempty"` //段位表
}
func (x *SCGetGameConfig) Reset() {
*x = SCGetGameConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCGetGameConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCGetGameConfig) ProtoMessage() {}
func (x *SCGetGameConfig) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCGetGameConfig.ProtoReflect.Descriptor instead.
func (*SCGetGameConfig) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{13}
}
func (x *SCGetGameConfig) GetGameCfg() []*GameConfig1 {
if x != nil {
return x.GameCfg
}
return nil
}
func (x *SCGetGameConfig) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *SCGetGameConfig) GetChessRanks() []*ChessRankInfo {
if x != nil {
return x.ChessRanks
}
return nil
}
//PACKET_SC_CHANGEGAMESTATUS == 2233
type SCChangeGameStatus struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameCfg []*GameConfig1 `protobuf:"bytes,1,rep,name=GameCfg,proto3" json:"GameCfg,omitempty"` //全局游戏状态发生变动,且自身平台游戏转台处于开启
}
func (x *SCChangeGameStatus) Reset() {
*x = SCChangeGameStatus{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCChangeGameStatus) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCChangeGameStatus) ProtoMessage() {}
func (x *SCChangeGameStatus) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCChangeGameStatus.ProtoReflect.Descriptor instead.
func (*SCChangeGameStatus) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{14}
}
func (x *SCChangeGameStatus) GetGameCfg() []*GameConfig1 {
if x != nil {
return x.GameCfg
}
return nil
}
//PACKET_SC_CHANGEENTRYSWITCH
type SCChangeEntrySwitch struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Index int32 `protobuf:"varint,1,opt,name=Index,proto3" json:"Index,omitempty"` // 游戏id
Switch []bool `protobuf:"varint,2,rep,packed,name=Switch,proto3" json:"Switch,omitempty"` // 0游戏入口开关 1hot开关 2new开关
}
func (x *SCChangeEntrySwitch) Reset() {
*x = SCChangeEntrySwitch{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCChangeEntrySwitch) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCChangeEntrySwitch) ProtoMessage() {}
func (x *SCChangeEntrySwitch) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCChangeEntrySwitch.ProtoReflect.Descriptor instead.
func (*SCChangeEntrySwitch) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{15}
}
func (x *SCChangeEntrySwitch) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
func (x *SCChangeEntrySwitch) GetSwitch() []bool {
if x != nil {
return x.Switch
}
return nil
}
//创建竞技馆私人房间
//PACKET_CS_CREATEPRIVATEROOM
type CSCreatePrivateRoom struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameFreeId int32 `protobuf:"varint,1,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` //游戏id
RoomTypeId int32 `protobuf:"varint,2,opt,name=RoomTypeId,proto3" json:"RoomTypeId,omitempty"` //房间类型id
RoomConfigId int32 `protobuf:"varint,3,opt,name=RoomConfigId,proto3" json:"RoomConfigId,omitempty"` //房间配置id
Round int32 `protobuf:"varint,4,opt,name=Round,proto3" json:"Round,omitempty"` //局数
PlayerNum int32 `protobuf:"varint,5,opt,name=PlayerNum,proto3" json:"PlayerNum,omitempty"` //人数
NeedPassword int32 `protobuf:"varint,6,opt,name=NeedPassword,proto3" json:"NeedPassword,omitempty"` //是否需要密码 1需要
CostType int32 `protobuf:"varint,7,opt,name=CostType,proto3" json:"CostType,omitempty"` // 房卡支付方式 1AA 2房主
Voice int32 `protobuf:"varint,8,opt,name=Voice,proto3" json:"Voice,omitempty"` //是否开启语音 1开启
}
func (x *CSCreatePrivateRoom) Reset() {
*x = CSCreatePrivateRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSCreatePrivateRoom) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSCreatePrivateRoom) ProtoMessage() {}
func (x *CSCreatePrivateRoom) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSCreatePrivateRoom.ProtoReflect.Descriptor instead.
func (*CSCreatePrivateRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{16}
}
func (x *CSCreatePrivateRoom) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *CSCreatePrivateRoom) GetRoomTypeId() int32 {
if x != nil {
return x.RoomTypeId
}
return 0
}
func (x *CSCreatePrivateRoom) GetRoomConfigId() int32 {
if x != nil {
return x.RoomConfigId
}
return 0
}
func (x *CSCreatePrivateRoom) GetRound() int32 {
if x != nil {
return x.Round
}
return 0
}
func (x *CSCreatePrivateRoom) GetPlayerNum() int32 {
if x != nil {
return x.PlayerNum
}
return 0
}
func (x *CSCreatePrivateRoom) GetNeedPassword() int32 {
if x != nil {
return x.NeedPassword
}
return 0
}
func (x *CSCreatePrivateRoom) GetCostType() int32 {
if x != nil {
return x.CostType
}
return 0
}
func (x *CSCreatePrivateRoom) GetVoice() int32 {
if x != nil {
return x.Voice
}
return 0
}
//PACKET_SC_CREATEPRIVATEROOM
type SCCreatePrivateRoom struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpRetCode OpResultCode_Game `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=gamehall.OpResultCode_Game" json:"OpRetCode,omitempty"` //结果
GameFreeId int32 `protobuf:"varint,2,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` //游戏id
RoomTypeId int32 `protobuf:"varint,3,opt,name=RoomTypeId,proto3" json:"RoomTypeId,omitempty"` //房间类型id
RoomConfigId int32 `protobuf:"varint,4,opt,name=RoomConfigId,proto3" json:"RoomConfigId,omitempty"` //房间配置id
Round int32 `protobuf:"varint,5,opt,name=Round,proto3" json:"Round,omitempty"` //局数
PlayerNum int32 `protobuf:"varint,6,opt,name=PlayerNum,proto3" json:"PlayerNum,omitempty"` //人数
NeedPassword int32 `protobuf:"varint,7,opt,name=NeedPassword,proto3" json:"NeedPassword,omitempty"` //是否需要密码 1需要
CostType int32 `protobuf:"varint,8,opt,name=CostType,proto3" json:"CostType,omitempty"` //房卡支付方式 1AA 2房主
Voice int32 `protobuf:"varint,9,opt,name=Voice,proto3" json:"Voice,omitempty"` //是否开启语音 1开启
RoomId int32 `protobuf:"varint,10,opt,name=RoomId,proto3" json:"RoomId,omitempty"` //房间id
Password string `protobuf:"bytes,11,opt,name=Password,proto3" json:"Password,omitempty"` //房间密码
}
func (x *SCCreatePrivateRoom) Reset() {
*x = SCCreatePrivateRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCCreatePrivateRoom) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCCreatePrivateRoom) ProtoMessage() {}
func (x *SCCreatePrivateRoom) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCCreatePrivateRoom.ProtoReflect.Descriptor instead.
func (*SCCreatePrivateRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{17}
}
func (x *SCCreatePrivateRoom) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
func (x *SCCreatePrivateRoom) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *SCCreatePrivateRoom) GetRoomTypeId() int32 {
if x != nil {
return x.RoomTypeId
}
return 0
}
func (x *SCCreatePrivateRoom) GetRoomConfigId() int32 {
if x != nil {
return x.RoomConfigId
}
return 0
}
func (x *SCCreatePrivateRoom) GetRound() int32 {
if x != nil {
return x.Round
}
return 0
}
func (x *SCCreatePrivateRoom) GetPlayerNum() int32 {
if x != nil {
return x.PlayerNum
}
return 0
}
func (x *SCCreatePrivateRoom) GetNeedPassword() int32 {
if x != nil {
return x.NeedPassword
}
return 0
}
func (x *SCCreatePrivateRoom) GetCostType() int32 {
if x != nil {
return x.CostType
}
return 0
}
func (x *SCCreatePrivateRoom) GetVoice() int32 {
if x != nil {
return x.Voice
}
return 0
}
func (x *SCCreatePrivateRoom) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *SCCreatePrivateRoom) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
//PACKET_CS_GETPRIVATEROOMLIST
type CSGetPrivateRoomList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoomConfigId int32 `protobuf:"varint,1,opt,name=RoomConfigId,proto3" json:"RoomConfigId,omitempty"` //房间配置id
GameFreeId int32 `protobuf:"varint,2,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` // 场次id
RoomId int32 `protobuf:"varint,3,opt,name=RoomId,proto3" json:"RoomId,omitempty"` // 房间id
RoomTypeId int32 `protobuf:"varint,4,opt,name=RoomTypeId,proto3" json:"RoomTypeId,omitempty"` // 玩法类型id
}
func (x *CSGetPrivateRoomList) Reset() {
*x = CSGetPrivateRoomList{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSGetPrivateRoomList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSGetPrivateRoomList) ProtoMessage() {}
func (x *CSGetPrivateRoomList) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSGetPrivateRoomList.ProtoReflect.Descriptor instead.
func (*CSGetPrivateRoomList) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{18}
}
func (x *CSGetPrivateRoomList) GetRoomConfigId() int32 {
if x != nil {
return x.RoomConfigId
}
return 0
}
func (x *CSGetPrivateRoomList) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *CSGetPrivateRoomList) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *CSGetPrivateRoomList) GetRoomTypeId() int32 {
if x != nil {
return x.RoomTypeId
}
return 0
}
type PrivatePlayerInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"` // 玩家id
Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` // 玩家昵称
UseRoleId int32 `protobuf:"varint,3,opt,name=UseRoleId,proto3" json:"UseRoleId,omitempty"` //使用的人物模型id
}
func (x *PrivatePlayerInfo) Reset() {
*x = PrivatePlayerInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PrivatePlayerInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PrivatePlayerInfo) ProtoMessage() {}
func (x *PrivatePlayerInfo) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PrivatePlayerInfo.ProtoReflect.Descriptor instead.
func (*PrivatePlayerInfo) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{19}
}
func (x *PrivatePlayerInfo) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *PrivatePlayerInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *PrivatePlayerInfo) GetUseRoleId() int32 {
if x != nil {
return x.UseRoleId
}
return 0
}
//个人创建的房间信息
type PrivateRoomInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameFreeId int32 `protobuf:"varint,1,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` //场次id
GameId int32 `protobuf:"varint,2,opt,name=GameId,proto3" json:"GameId,omitempty"` //游戏id
RoomTypeId int32 `protobuf:"varint,3,opt,name=RoomTypeId,proto3" json:"RoomTypeId,omitempty"` //玩法类型id
RoomConfigId int32 `protobuf:"varint,4,opt,name=RoomConfigId,proto3" json:"RoomConfigId,omitempty"` //房间配置id
RoomId int32 `protobuf:"varint,5,opt,name=RoomId,proto3" json:"RoomId,omitempty"` //房间号
NeedPassword int32 `protobuf:"varint,6,opt,name=NeedPassword,proto3" json:"NeedPassword,omitempty"` //是否需要密码 1是
CurrRound int32 `protobuf:"varint,7,opt,name=CurrRound,proto3" json:"CurrRound,omitempty"` //当前第几轮
MaxRound int32 `protobuf:"varint,8,opt,name=MaxRound,proto3" json:"MaxRound,omitempty"` //最大轮数
CurrNum int32 `protobuf:"varint,9,opt,name=CurrNum,proto3" json:"CurrNum,omitempty"` //当前人数
MaxPlayer int32 `protobuf:"varint,10,opt,name=MaxPlayer,proto3" json:"MaxPlayer,omitempty"` //最大人数
CreateTs int64 `protobuf:"varint,11,opt,name=CreateTs,proto3" json:"CreateTs,omitempty"` //创建时间戳
State int32 `protobuf:"varint,12,opt,name=State,proto3" json:"State,omitempty"` //房间状态 0等待中 1进行中 2已结束
Players []*PrivatePlayerInfo `protobuf:"bytes,13,rep,name=Players,proto3" json:"Players,omitempty"` //玩家列表
IsSystem bool `protobuf:"varint,14,opt,name=IsSystem,proto3" json:"IsSystem,omitempty"` //是否系统创建
WinSnId int32 `protobuf:"varint,15,opt,name=WinSnId,proto3" json:"WinSnId,omitempty"` //赢家id
WinName string `protobuf:"bytes,16,opt,name=WinName,proto3" json:"WinName,omitempty"` //赢家昵称
WinRoleId int32 `protobuf:"varint,17,opt,name=WinRoleId,proto3" json:"WinRoleId,omitempty"` //赢家人物模型id
}
func (x *PrivateRoomInfo) Reset() {
*x = PrivateRoomInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PrivateRoomInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PrivateRoomInfo) ProtoMessage() {}
func (x *PrivateRoomInfo) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PrivateRoomInfo.ProtoReflect.Descriptor instead.
func (*PrivateRoomInfo) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{20}
}
func (x *PrivateRoomInfo) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *PrivateRoomInfo) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *PrivateRoomInfo) GetRoomTypeId() int32 {
if x != nil {
return x.RoomTypeId
}
return 0
}
func (x *PrivateRoomInfo) GetRoomConfigId() int32 {
if x != nil {
return x.RoomConfigId
}
return 0
}
func (x *PrivateRoomInfo) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *PrivateRoomInfo) GetNeedPassword() int32 {
if x != nil {
return x.NeedPassword
}
return 0
}
func (x *PrivateRoomInfo) GetCurrRound() int32 {
if x != nil {
return x.CurrRound
}
return 0
}
func (x *PrivateRoomInfo) GetMaxRound() int32 {
if x != nil {
return x.MaxRound
}
return 0
}
func (x *PrivateRoomInfo) GetCurrNum() int32 {
if x != nil {
return x.CurrNum
}
return 0
}
func (x *PrivateRoomInfo) GetMaxPlayer() int32 {
if x != nil {
return x.MaxPlayer
}
return 0
}
func (x *PrivateRoomInfo) GetCreateTs() int64 {
if x != nil {
return x.CreateTs
}
return 0
}
func (x *PrivateRoomInfo) GetState() int32 {
if x != nil {
return x.State
}
return 0
}
func (x *PrivateRoomInfo) GetPlayers() []*PrivatePlayerInfo {
if x != nil {
return x.Players
}
return nil
}
func (x *PrivateRoomInfo) GetIsSystem() bool {
if x != nil {
return x.IsSystem
}
return false
}
func (x *PrivateRoomInfo) GetWinSnId() int32 {
if x != nil {
return x.WinSnId
}
return 0
}
func (x *PrivateRoomInfo) GetWinName() string {
if x != nil {
return x.WinName
}
return ""
}
func (x *PrivateRoomInfo) GetWinRoleId() int32 {
if x != nil {
return x.WinRoleId
}
return 0
}
//PACKET_SC_GETPRIVATEROOMLIST
type SCGetPrivateRoomList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Tp int32 `protobuf:"varint,1,opt,name=Tp,proto3" json:"Tp,omitempty"` // 0所有配置 1更新 2新增 3删除
Datas []*PrivateRoomInfo `protobuf:"bytes,2,rep,name=Datas,proto3" json:"Datas,omitempty"` //房间列表
}
func (x *SCGetPrivateRoomList) Reset() {
*x = SCGetPrivateRoomList{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCGetPrivateRoomList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCGetPrivateRoomList) ProtoMessage() {}
func (x *SCGetPrivateRoomList) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCGetPrivateRoomList.ProtoReflect.Descriptor instead.
func (*SCGetPrivateRoomList) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{21}
}
func (x *SCGetPrivateRoomList) GetTp() int32 {
if x != nil {
return x.Tp
}
return 0
}
func (x *SCGetPrivateRoomList) GetDatas() []*PrivateRoomInfo {
if x != nil {
return x.Datas
}
return nil
}
//PACKET_CS_QUERYROOMINFO
type CSQueryRoomInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameIds []int32 `protobuf:"varint,1,rep,packed,name=GameIds,proto3" json:"GameIds,omitempty"`
GameSite int32 `protobuf:"varint,2,opt,name=GameSite,proto3" json:"GameSite,omitempty"` //1.初级 2.中级 3.高级
Id []int32 `protobuf:"varint,3,rep,packed,name=Id,proto3" json:"Id,omitempty"` //gamefreeid
SceneMode int32 `protobuf:"varint,4,opt,name=SceneMode,proto3" json:"SceneMode,omitempty"` // 0公共房 2私人房
}
func (x *CSQueryRoomInfo) Reset() {
*x = CSQueryRoomInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSQueryRoomInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSQueryRoomInfo) ProtoMessage() {}
func (x *CSQueryRoomInfo) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSQueryRoomInfo.ProtoReflect.Descriptor instead.
func (*CSQueryRoomInfo) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{22}
}
func (x *CSQueryRoomInfo) GetGameIds() []int32 {
if x != nil {
return x.GameIds
}
return nil
}
func (x *CSQueryRoomInfo) GetGameSite() int32 {
if x != nil {
return x.GameSite
}
return 0
}
func (x *CSQueryRoomInfo) GetId() []int32 {
if x != nil {
return x.Id
}
return nil
}
func (x *CSQueryRoomInfo) GetSceneMode() int32 {
if x != nil {
return x.SceneMode
}
return 0
}
//自由桌房间信息
type QRoomInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameFreeId int32 `protobuf:"varint,1,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` //游戏id
GameId int32 `protobuf:"varint,2,opt,name=GameId,proto3" json:"GameId,omitempty"`
RoomId int32 `protobuf:"varint,3,opt,name=RoomId,proto3" json:"RoomId,omitempty"` //房间编号
BaseCoin int64 `protobuf:"varint,4,opt,name=BaseCoin,proto3" json:"BaseCoin,omitempty"`
LimitCoin int64 `protobuf:"varint,5,opt,name=LimitCoin,proto3" json:"LimitCoin,omitempty"`
CurrNum int32 `protobuf:"varint,6,opt,name=CurrNum,proto3" json:"CurrNum,omitempty"` //当前人数
MaxPlayer int32 `protobuf:"varint,7,opt,name=MaxPlayer,proto3" json:"MaxPlayer,omitempty"` //最大人数
Creator int32 `protobuf:"varint,8,opt,name=Creator,proto3" json:"Creator,omitempty"`
CreateTs int32 `protobuf:"varint,9,opt,name=CreateTs,proto3" json:"CreateTs,omitempty"` //创建时间戳
Params []int32 `protobuf:"varint,10,rep,packed,name=Params,proto3" json:"Params,omitempty"` // 建房参数
}
func (x *QRoomInfo) Reset() {
*x = QRoomInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QRoomInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QRoomInfo) ProtoMessage() {}
func (x *QRoomInfo) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QRoomInfo.ProtoReflect.Descriptor instead.
func (*QRoomInfo) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{23}
}
func (x *QRoomInfo) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *QRoomInfo) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *QRoomInfo) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *QRoomInfo) GetBaseCoin() int64 {
if x != nil {
return x.BaseCoin
}
return 0
}
func (x *QRoomInfo) GetLimitCoin() int64 {
if x != nil {
return x.LimitCoin
}
return 0
}
func (x *QRoomInfo) GetCurrNum() int32 {
if x != nil {
return x.CurrNum
}
return 0
}
func (x *QRoomInfo) GetMaxPlayer() int32 {
if x != nil {
return x.MaxPlayer
}
return 0
}
func (x *QRoomInfo) GetCreator() int32 {
if x != nil {
return x.Creator
}
return 0
}
func (x *QRoomInfo) GetCreateTs() int32 {
if x != nil {
return x.CreateTs
}
return 0
}
func (x *QRoomInfo) GetParams() []int32 {
if x != nil {
return x.Params
}
return nil
}
//PACKET_SC_QUERYROOMINFO
type SCQueryRoomInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameIds []int32 `protobuf:"varint,1,rep,packed,name=GameIds,proto3" json:"GameIds,omitempty"`
GameSite int32 `protobuf:"varint,2,opt,name=GameSite,proto3" json:"GameSite,omitempty"` //1.初级 2.中级 3.高级
RoomInfo []*QRoomInfo `protobuf:"bytes,3,rep,name=RoomInfo,proto3" json:"RoomInfo,omitempty"` //房间列表
OpRetCode OpResultCode_Game `protobuf:"varint,4,opt,name=OpRetCode,proto3,enum=gamehall.OpResultCode_Game" json:"OpRetCode,omitempty"` //结果
}
func (x *SCQueryRoomInfo) Reset() {
*x = SCQueryRoomInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCQueryRoomInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCQueryRoomInfo) ProtoMessage() {}
func (x *SCQueryRoomInfo) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCQueryRoomInfo.ProtoReflect.Descriptor instead.
func (*SCQueryRoomInfo) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{24}
}
func (x *SCQueryRoomInfo) GetGameIds() []int32 {
if x != nil {
return x.GameIds
}
return nil
}
func (x *SCQueryRoomInfo) GetGameSite() int32 {
if x != nil {
return x.GameSite
}
return 0
}
func (x *SCQueryRoomInfo) GetRoomInfo() []*QRoomInfo {
if x != nil {
return x.RoomInfo
}
return nil
}
func (x *SCQueryRoomInfo) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
type GameState struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameFreeId int32 `protobuf:"varint,1,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"`
Ts int64 `protobuf:"varint,2,opt,name=Ts,proto3" json:"Ts,omitempty"`
Sec int32 `protobuf:"varint,3,opt,name=Sec,proto3" json:"Sec,omitempty"`
}
func (x *GameState) Reset() {
*x = GameState{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GameState) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameState) ProtoMessage() {}
func (x *GameState) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameState.ProtoReflect.Descriptor instead.
func (*GameState) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{25}
}
func (x *GameState) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *GameState) GetTs() int64 {
if x != nil {
return x.Ts
}
return 0
}
func (x *GameState) GetSec() int32 {
if x != nil {
return x.Sec
}
return 0
}
//PACKET_SC_GAMESTATE
type SCGameState struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*GameState `protobuf:"bytes,1,rep,name=List,proto3" json:"List,omitempty"`
}
func (x *SCGameState) Reset() {
*x = SCGameState{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCGameState) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCGameState) ProtoMessage() {}
func (x *SCGameState) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCGameState.ProtoReflect.Descriptor instead.
func (*SCGameState) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{26}
}
func (x *SCGameState) GetList() []*GameState {
if x != nil {
return x.List
}
return nil
}
//PACKET_CS_AUDIENCESIT
type CSAudienceSit struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoomId int32 `protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"` //房号
}
func (x *CSAudienceSit) Reset() {
*x = CSAudienceSit{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSAudienceSit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSAudienceSit) ProtoMessage() {}
func (x *CSAudienceSit) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSAudienceSit.ProtoReflect.Descriptor instead.
func (*CSAudienceSit) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{27}
}
func (x *CSAudienceSit) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
//PACKET_SC_AUDIENCESIT
type SCAudienceSit struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoomId int32 `protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"` //房号
OpCode OpResultCode_Game `protobuf:"varint,2,opt,name=OpCode,proto3,enum=gamehall.OpResultCode_Game" json:"OpCode,omitempty"` //操作码
}
func (x *SCAudienceSit) Reset() {
*x = SCAudienceSit{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCAudienceSit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCAudienceSit) ProtoMessage() {}
func (x *SCAudienceSit) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCAudienceSit.ProtoReflect.Descriptor instead.
func (*SCAudienceSit) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{28}
}
func (x *SCAudienceSit) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *SCAudienceSit) GetOpCode() OpResultCode_Game {
if x != nil {
return x.OpCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
//PACKET_CS_COMNOTICE
type CSRecordAndNotice struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PageNo int32 `protobuf:"varint,1,opt,name=PageNo,proto3" json:"PageNo,omitempty"` // 页码
PageSize int32 `protobuf:"varint,2,opt,name=PageSize,proto3" json:"PageSize,omitempty"` // 每页数量
Opt int32 `protobuf:"varint,3,opt,name=Opt,proto3" json:"Opt,omitempty"` // 操作 0查询公告 1 获取战绩列表 2 获取当日战绩
StartTime int64 `protobuf:"varint,4,opt,name=StartTime,proto3" json:"StartTime,omitempty"`
}
func (x *CSRecordAndNotice) Reset() {
*x = CSRecordAndNotice{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSRecordAndNotice) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSRecordAndNotice) ProtoMessage() {}
func (x *CSRecordAndNotice) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSRecordAndNotice.ProtoReflect.Descriptor instead.
func (*CSRecordAndNotice) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{29}
}
func (x *CSRecordAndNotice) GetPageNo() int32 {
if x != nil {
return x.PageNo
}
return 0
}
func (x *CSRecordAndNotice) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *CSRecordAndNotice) GetOpt() int32 {
if x != nil {
return x.Opt
}
return 0
}
func (x *CSRecordAndNotice) GetStartTime() int64 {
if x != nil {
return x.StartTime
}
return 0
}
type CommonNotice struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Sort int32 `protobuf:"varint,1,opt,name=Sort,proto3" json:"Sort,omitempty"` //排序
Title string `protobuf:"bytes,2,opt,name=Title,proto3" json:"Title,omitempty"` //标题
Content string `protobuf:"bytes,3,opt,name=Content,proto3" json:"Content,omitempty"` //内容
TypeName string `protobuf:"bytes,4,opt,name=TypeName,proto3" json:"TypeName,omitempty"`
Type int32 `protobuf:"varint,5,opt,name=Type,proto3" json:"Type,omitempty"`
StartTime int32 `protobuf:"varint,6,opt,name=StartTime,proto3" json:"StartTime,omitempty"`
EndTime int32 `protobuf:"varint,7,opt,name=EndTime,proto3" json:"EndTime,omitempty"`
Platform string `protobuf:"bytes,8,opt,name=Platform,proto3" json:"Platform,omitempty"`
CategoryType int32 `protobuf:"varint,9,opt,name=CategoryType,proto3" json:"CategoryType,omitempty"` // 分类 3轮播 2跑马灯
ImgUrl string `protobuf:"bytes,10,opt,name=ImgUrl,proto3" json:"ImgUrl,omitempty"`
NoticeId int32 `protobuf:"varint,11,opt,name=NoticeId,proto3" json:"NoticeId,omitempty"` // id
IsLoop int32 `protobuf:"varint,12,opt,name=IsLoop,proto3" json:"IsLoop,omitempty"`
LoopTime int32 `protobuf:"varint,13,opt,name=LoopTime,proto3" json:"LoopTime,omitempty"`
OnChannelName []string `protobuf:"bytes,14,rep,name=OnChannelName,proto3" json:"OnChannelName,omitempty"`
Url string `protobuf:"bytes,15,opt,name=Url,proto3" json:"Url,omitempty"`
LoopCount int32 `protobuf:"varint,16,opt,name=LoopCount,proto3" json:"LoopCount,omitempty"`
}
func (x *CommonNotice) Reset() {
*x = CommonNotice{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CommonNotice) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CommonNotice) ProtoMessage() {}
func (x *CommonNotice) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CommonNotice.ProtoReflect.Descriptor instead.
func (*CommonNotice) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{30}
}
func (x *CommonNotice) GetSort() int32 {
if x != nil {
return x.Sort
}
return 0
}
func (x *CommonNotice) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *CommonNotice) GetContent() string {
if x != nil {
return x.Content
}
return ""
}
func (x *CommonNotice) GetTypeName() string {
if x != nil {
return x.TypeName
}
return ""
}
func (x *CommonNotice) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *CommonNotice) GetStartTime() int32 {
if x != nil {
return x.StartTime
}
return 0
}
func (x *CommonNotice) GetEndTime() int32 {
if x != nil {
return x.EndTime
}
return 0
}
func (x *CommonNotice) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *CommonNotice) GetCategoryType() int32 {
if x != nil {
return x.CategoryType
}
return 0
}
func (x *CommonNotice) GetImgUrl() string {
if x != nil {
return x.ImgUrl
}
return ""
}
func (x *CommonNotice) GetNoticeId() int32 {
if x != nil {
return x.NoticeId
}
return 0
}
func (x *CommonNotice) GetIsLoop() int32 {
if x != nil {
return x.IsLoop
}
return 0
}
func (x *CommonNotice) GetLoopTime() int32 {
if x != nil {
return x.LoopTime
}
return 0
}
func (x *CommonNotice) GetOnChannelName() []string {
if x != nil {
return x.OnChannelName
}
return nil
}
func (x *CommonNotice) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *CommonNotice) GetLoopCount() int32 {
if x != nil {
return x.LoopCount
}
return 0
}
type PlayerRecord struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameFreeid int32 `protobuf:"varint,1,opt,name=GameFreeid,proto3" json:"GameFreeid,omitempty"` // 游戏类型
GameDetailedLogId string `protobuf:"bytes,2,opt,name=GameDetailedLogId,proto3" json:"GameDetailedLogId,omitempty"` // 游戏记录id
TotalIn int64 `protobuf:"varint,3,opt,name=TotalIn,proto3" json:"TotalIn,omitempty"` //本局投入
TotalOut int64 `protobuf:"varint,4,opt,name=TotalOut,proto3" json:"TotalOut,omitempty"` //本局产出
Ts int32 `protobuf:"varint,5,opt,name=Ts,proto3" json:"Ts,omitempty"` //记录时间
MatchType int32 `protobuf:"varint,6,opt,name=MatchType,proto3" json:"MatchType,omitempty"` //0.普通场 1.锦标赛 2.冠军赛 3.vip专属
}
func (x *PlayerRecord) Reset() {
*x = PlayerRecord{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PlayerRecord) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlayerRecord) ProtoMessage() {}
func (x *PlayerRecord) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[31]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlayerRecord.ProtoReflect.Descriptor instead.
func (*PlayerRecord) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{31}
}
func (x *PlayerRecord) GetGameFreeid() int32 {
if x != nil {
return x.GameFreeid
}
return 0
}
func (x *PlayerRecord) GetGameDetailedLogId() string {
if x != nil {
return x.GameDetailedLogId
}
return ""
}
func (x *PlayerRecord) GetTotalIn() int64 {
if x != nil {
return x.TotalIn
}
return 0
}
func (x *PlayerRecord) GetTotalOut() int64 {
if x != nil {
return x.TotalOut
}
return 0
}
func (x *PlayerRecord) GetTs() int32 {
if x != nil {
return x.Ts
}
return 0
}
func (x *PlayerRecord) GetMatchType() int32 {
if x != nil {
return x.MatchType
}
return 0
}
//PACKET_SC_COMNOTICE
type SCRecordAndNotice struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpCode OpResultCode_Game `protobuf:"varint,1,opt,name=OpCode,proto3,enum=gamehall.OpResultCode_Game" json:"OpCode,omitempty"` // 操作码
List []*CommonNotice `protobuf:"bytes,2,rep,name=List,proto3" json:"List,omitempty"` // 公告信息
Glist []*PlayerRecord `protobuf:"bytes,3,rep,name=Glist,proto3" json:"Glist,omitempty"` // 战绩
GlistTs []int64 `protobuf:"varint,4,rep,packed,name=GlistTs,proto3" json:"GlistTs,omitempty"` // 战绩日期列表
}
func (x *SCRecordAndNotice) Reset() {
*x = SCRecordAndNotice{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCRecordAndNotice) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCRecordAndNotice) ProtoMessage() {}
func (x *SCRecordAndNotice) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCRecordAndNotice.ProtoReflect.Descriptor instead.
func (*SCRecordAndNotice) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{32}
}
func (x *SCRecordAndNotice) GetOpCode() OpResultCode_Game {
if x != nil {
return x.OpCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
func (x *SCRecordAndNotice) GetList() []*CommonNotice {
if x != nil {
return x.List
}
return nil
}
func (x *SCRecordAndNotice) GetGlist() []*PlayerRecord {
if x != nil {
return x.Glist
}
return nil
}
func (x *SCRecordAndNotice) GetGlistTs() []int64 {
if x != nil {
return x.GlistTs
}
return nil
}
// PACKET_SC_NoticeChange
type SCNoticeChange struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *SCNoticeChange) Reset() {
*x = SCNoticeChange{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCNoticeChange) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCNoticeChange) ProtoMessage() {}
func (x *SCNoticeChange) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[33]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCNoticeChange.ProtoReflect.Descriptor instead.
func (*SCNoticeChange) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{33}
}
//PACKET_CS_DESTROYROOM
type CSDestroyRoom struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CSDestroyRoom) Reset() {
*x = CSDestroyRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSDestroyRoom) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSDestroyRoom) ProtoMessage() {}
func (x *CSDestroyRoom) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[34]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSDestroyRoom.ProtoReflect.Descriptor instead.
func (*CSDestroyRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{34}
}
//PACKET_SC_DESTROYROOM
type SCDestroyRoom struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoomId int32 `protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"` //房间编号
OpRetCode OpResultCode_Game `protobuf:"varint,2,opt,name=OpRetCode,proto3,enum=gamehall.OpResultCode_Game" json:"OpRetCode,omitempty"` //结果
IsForce int32 `protobuf:"varint,3,opt,name=IsForce,proto3" json:"IsForce,omitempty"` //是否强制销毁
}
func (x *SCDestroyRoom) Reset() {
*x = SCDestroyRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCDestroyRoom) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCDestroyRoom) ProtoMessage() {}
func (x *SCDestroyRoom) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[35]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCDestroyRoom.ProtoReflect.Descriptor instead.
func (*SCDestroyRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{35}
}
func (x *SCDestroyRoom) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *SCDestroyRoom) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
func (x *SCDestroyRoom) GetIsForce() int32 {
if x != nil {
return x.IsForce
}
return 0
}
//PACKET_CS_LEAVEROOM
//PACKET_CS_AUDIENCE_LEAVEROOM
//玩家离开房间,返回大厅
type CSLeaveRoom struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Mode int32 `protobuf:"varint,1,opt,name=Mode,proto3" json:"Mode,omitempty"` //离开方式 0:退出 1:暂离(占着座位,返回大厅)
}
func (x *CSLeaveRoom) Reset() {
*x = CSLeaveRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSLeaveRoom) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSLeaveRoom) ProtoMessage() {}
func (x *CSLeaveRoom) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[36]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSLeaveRoom.ProtoReflect.Descriptor instead.
func (*CSLeaveRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{36}
}
func (x *CSLeaveRoom) GetMode() int32 {
if x != nil {
return x.Mode
}
return 0
}
//PACKET_SC_LEAVEROOM
type SCLeaveRoom struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpRetCode OpResultCode_Game `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=gamehall.OpResultCode_Game" json:"OpRetCode,omitempty"` //结果
Reason int32 `protobuf:"varint,2,opt,name=Reason,proto3" json:"Reason,omitempty"` //原因 0:主动退出 1:被踢出
RoomId int32 `protobuf:"varint,3,opt,name=RoomId,proto3" json:"RoomId,omitempty"` //房间ID
Mode int32 `protobuf:"varint,4,opt,name=Mode,proto3" json:"Mode,omitempty"`
}
func (x *SCLeaveRoom) Reset() {
*x = SCLeaveRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCLeaveRoom) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCLeaveRoom) ProtoMessage() {}
func (x *SCLeaveRoom) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[37]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCLeaveRoom.ProtoReflect.Descriptor instead.
func (*SCLeaveRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{37}
}
func (x *SCLeaveRoom) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
func (x *SCLeaveRoom) GetReason() int32 {
if x != nil {
return x.Reason
}
return 0
}
func (x *SCLeaveRoom) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *SCLeaveRoom) GetMode() int32 {
if x != nil {
return x.Mode
}
return 0
}
//PACKET_CS_FORCESTART
type CSForceStart struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CSForceStart) Reset() {
*x = CSForceStart{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSForceStart) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSForceStart) ProtoMessage() {}
func (x *CSForceStart) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[38]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSForceStart.ProtoReflect.Descriptor instead.
func (*CSForceStart) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{38}
}
//PACKET_SC_FORCESTART
type SCForceStart struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpRetCode OpResultCode_Game `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=gamehall.OpResultCode_Game" json:"OpRetCode,omitempty"` //结果
}
func (x *SCForceStart) Reset() {
*x = SCForceStart{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCForceStart) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCForceStart) ProtoMessage() {}
func (x *SCForceStart) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[39]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCForceStart.ProtoReflect.Descriptor instead.
func (*SCForceStart) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{39}
}
func (x *SCForceStart) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
//玩家设置标记
//PACKET_CS_PLAYER_SWITCHFLAG
type CSPlayerSwithFlag struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Flag int32 `protobuf:"varint,1,opt,name=Flag,proto3" json:"Flag,omitempty"`
Mark int32 `protobuf:"varint,2,opt,name=Mark,proto3" json:"Mark,omitempty"` //1:设置 0:取消
}
func (x *CSPlayerSwithFlag) Reset() {
*x = CSPlayerSwithFlag{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSPlayerSwithFlag) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSPlayerSwithFlag) ProtoMessage() {}
func (x *CSPlayerSwithFlag) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[40]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSPlayerSwithFlag.ProtoReflect.Descriptor instead.
func (*CSPlayerSwithFlag) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{40}
}
func (x *CSPlayerSwithFlag) GetFlag() int32 {
if x != nil {
return x.Flag
}
return 0
}
func (x *CSPlayerSwithFlag) GetMark() int32 {
if x != nil {
return x.Mark
}
return 0
}
// PACKET_CSRoomEvent
type CSRoomEvent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Tp int32 `protobuf:"varint,1,opt,name=Tp,proto3" json:"Tp,omitempty"` // 事件类型 1普通消息 2互动表情
Content string `protobuf:"bytes,2,opt,name=Content,proto3" json:"Content,omitempty"` // 内容
Param []int32 `protobuf:"varint,4,rep,packed,name=Param,proto3" json:"Param,omitempty"` // 参数 互动表情Id
}
func (x *CSRoomEvent) Reset() {
*x = CSRoomEvent{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSRoomEvent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSRoomEvent) ProtoMessage() {}
func (x *CSRoomEvent) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[41]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSRoomEvent.ProtoReflect.Descriptor instead.
func (*CSRoomEvent) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{41}
}
func (x *CSRoomEvent) GetTp() int32 {
if x != nil {
return x.Tp
}
return 0
}
func (x *CSRoomEvent) GetContent() string {
if x != nil {
return x.Content
}
return ""
}
func (x *CSRoomEvent) GetParam() []int32 {
if x != nil {
return x.Param
}
return nil
}
type SCRoomEvent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpCode OpResultCode_Game `protobuf:"varint,1,opt,name=OpCode,proto3,enum=gamehall.OpResultCode_Game" json:"OpCode,omitempty"` // 操作码
Tp int32 `protobuf:"varint,2,opt,name=Tp,proto3" json:"Tp,omitempty"` // 类型
Pos int32 `protobuf:"varint,3,opt,name=Pos,proto3" json:"Pos,omitempty"` // 发送者位置
Content string `protobuf:"bytes,4,opt,name=Content,proto3" json:"Content,omitempty"` // 内容
Param []int32 `protobuf:"varint,5,rep,packed,name=Param,proto3" json:"Param,omitempty"` // 参数
Ts int64 `protobuf:"varint,6,opt,name=Ts,proto3" json:"Ts,omitempty"` // 时间戳
}
func (x *SCRoomEvent) Reset() {
*x = SCRoomEvent{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCRoomEvent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCRoomEvent) ProtoMessage() {}
func (x *SCRoomEvent) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[42]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCRoomEvent.ProtoReflect.Descriptor instead.
func (*SCRoomEvent) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{42}
}
func (x *SCRoomEvent) GetOpCode() OpResultCode_Game {
if x != nil {
return x.OpCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
func (x *SCRoomEvent) GetTp() int32 {
if x != nil {
return x.Tp
}
return 0
}
func (x *SCRoomEvent) GetPos() int32 {
if x != nil {
return x.Pos
}
return 0
}
func (x *SCRoomEvent) GetContent() string {
if x != nil {
return x.Content
}
return ""
}
func (x *SCRoomEvent) GetParam() []int32 {
if x != nil {
return x.Param
}
return nil
}
func (x *SCRoomEvent) GetTs() int64 {
if x != nil {
return x.Ts
}
return 0
}
type ItemInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // id
Num int32 `protobuf:"varint,2,opt,name=Num,proto3" json:"Num,omitempty"` // 数量
}
func (x *ItemInfo) Reset() {
*x = ItemInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ItemInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ItemInfo) ProtoMessage() {}
func (x *ItemInfo) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[43]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ItemInfo.ProtoReflect.Descriptor instead.
func (*ItemInfo) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{43}
}
func (x *ItemInfo) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *ItemInfo) GetNum() int32 {
if x != nil {
return x.Num
}
return 0
}
// PACKET_CSTouchType
// 每10秒发送一次,保持更新
type CSTouchType struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Tp DataType `protobuf:"varint,1,opt,name=Tp,proto3,enum=gamehall.DataType" json:"Tp,omitempty"` // 保持更新类型
// Tp: Params
// 1: 房间配置id
Params []int32 `protobuf:"varint,3,rep,packed,name=Params,proto3" json:"Params,omitempty"`
}
func (x *CSTouchType) Reset() {
*x = CSTouchType{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSTouchType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSTouchType) ProtoMessage() {}
func (x *CSTouchType) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[44]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSTouchType.ProtoReflect.Descriptor instead.
func (*CSTouchType) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{44}
}
func (x *CSTouchType) GetTp() DataType {
if x != nil {
return x.Tp
}
return DataType_Zero
}
func (x *CSTouchType) GetParams() []int32 {
if x != nil {
return x.Params
}
return nil
}
type RoomConfigInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` // 配置id
Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` // 配置名称
RoomType int32 `protobuf:"varint,4,opt,name=RoomType,proto3" json:"RoomType,omitempty"` // 房间类型id, RoomTypeInfo.Id
On int32 `protobuf:"varint,5,opt,name=On,proto3" json:"On,omitempty"` // 开关 1开启 2关闭
SortId int32 `protobuf:"varint,6,opt,name=SortId,proto3" json:"SortId,omitempty"` // 排序ID
Cost []*ItemInfo `protobuf:"bytes,7,rep,name=Cost,proto3" json:"Cost,omitempty"` // 进入房间消耗
Reward []*ItemInfo `protobuf:"bytes,8,rep,name=Reward,proto3" json:"Reward,omitempty"` // 进入房间奖励
OnChannelName []string `protobuf:"bytes,9,rep,name=OnChannelName,proto3" json:"OnChannelName,omitempty"` // 开启的渠道名称
GameFreeId []int32 `protobuf:"varint,10,rep,packed,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` // 场次id
Round []int32 `protobuf:"varint,11,rep,packed,name=Round,proto3" json:"Round,omitempty"` // 局数
PlayerNum []int32 `protobuf:"varint,12,rep,packed,name=PlayerNum,proto3" json:"PlayerNum,omitempty"` // 人数
NeedPassword int32 `protobuf:"varint,13,opt,name=NeedPassword,proto3" json:"NeedPassword,omitempty"` // 是否需要密码 1是 2否 3自定义
CostType int32 `protobuf:"varint,14,opt,name=CostType,proto3" json:"CostType,omitempty"` // 消耗类型 1AA 2房主 3自定义
Voice int32 `protobuf:"varint,15,opt,name=Voice,proto3" json:"Voice,omitempty"` // 是否开启语音 1是 2否 3自定义
ImageURI string `protobuf:"bytes,16,opt,name=ImageURI,proto3" json:"ImageURI,omitempty"` // 奖励图片
}
func (x *RoomConfigInfo) Reset() {
*x = RoomConfigInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RoomConfigInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RoomConfigInfo) ProtoMessage() {}
func (x *RoomConfigInfo) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[45]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RoomConfigInfo.ProtoReflect.Descriptor instead.
func (*RoomConfigInfo) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{45}
}
func (x *RoomConfigInfo) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *RoomConfigInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *RoomConfigInfo) GetRoomType() int32 {
if x != nil {
return x.RoomType
}
return 0
}
func (x *RoomConfigInfo) GetOn() int32 {
if x != nil {
return x.On
}
return 0
}
func (x *RoomConfigInfo) GetSortId() int32 {
if x != nil {
return x.SortId
}
return 0
}
func (x *RoomConfigInfo) GetCost() []*ItemInfo {
if x != nil {
return x.Cost
}
return nil
}
func (x *RoomConfigInfo) GetReward() []*ItemInfo {
if x != nil {
return x.Reward
}
return nil
}
func (x *RoomConfigInfo) GetOnChannelName() []string {
if x != nil {
return x.OnChannelName
}
return nil
}
func (x *RoomConfigInfo) GetGameFreeId() []int32 {
if x != nil {
return x.GameFreeId
}
return nil
}
func (x *RoomConfigInfo) GetRound() []int32 {
if x != nil {
return x.Round
}
return nil
}
func (x *RoomConfigInfo) GetPlayerNum() []int32 {
if x != nil {
return x.PlayerNum
}
return nil
}
func (x *RoomConfigInfo) GetNeedPassword() int32 {
if x != nil {
return x.NeedPassword
}
return 0
}
func (x *RoomConfigInfo) GetCostType() int32 {
if x != nil {
return x.CostType
}
return 0
}
func (x *RoomConfigInfo) GetVoice() int32 {
if x != nil {
return x.Voice
}
return 0
}
func (x *RoomConfigInfo) GetImageURI() string {
if x != nil {
return x.ImageURI
}
return ""
}
type RoomTypeInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // id
Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` // 类型名称
On int32 `protobuf:"varint,3,opt,name=On,proto3" json:"On,omitempty"` // 开关 1开启 2关闭
SortId int32 `protobuf:"varint,4,opt,name=SortId,proto3" json:"SortId,omitempty"` // 排序ID
List []*RoomConfigInfo `protobuf:"bytes,5,rep,name=List,proto3" json:"List,omitempty"` // 房间配置列表
}
func (x *RoomTypeInfo) Reset() {
*x = RoomTypeInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RoomTypeInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RoomTypeInfo) ProtoMessage() {}
func (x *RoomTypeInfo) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[46]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RoomTypeInfo.ProtoReflect.Descriptor instead.
func (*RoomTypeInfo) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{46}
}
func (x *RoomTypeInfo) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *RoomTypeInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *RoomTypeInfo) GetOn() int32 {
if x != nil {
return x.On
}
return 0
}
func (x *RoomTypeInfo) GetSortId() int32 {
if x != nil {
return x.SortId
}
return 0
}
func (x *RoomTypeInfo) GetList() []*RoomConfigInfo {
if x != nil {
return x.List
}
return nil
}
// PACKET_CSRoomConfig
type CSRoomConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CSRoomConfig) Reset() {
*x = CSRoomConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSRoomConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSRoomConfig) ProtoMessage() {}
func (x *CSRoomConfig) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[47]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSRoomConfig.ProtoReflect.Descriptor instead.
func (*CSRoomConfig) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{47}
}
// PACKET_SCRoomConfig 竞技馆房间配置
type SCRoomConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*RoomTypeInfo `protobuf:"bytes,1,rep,name=List,proto3" json:"List,omitempty"`
}
func (x *SCRoomConfig) Reset() {
*x = SCRoomConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCRoomConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCRoomConfig) ProtoMessage() {}
func (x *SCRoomConfig) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[48]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCRoomConfig.ProtoReflect.Descriptor instead.
func (*SCRoomConfig) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{48}
}
func (x *SCRoomConfig) GetList() []*RoomTypeInfo {
if x != nil {
return x.List
}
return nil
}
// 房间招募功能
// PACKET_CSRoomRecruit
type CSRoomRecruit struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoomId int32 `protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"` // 房间id
On int32 `protobuf:"varint,2,opt,name=On,proto3" json:"On,omitempty"` // 开关 1开启 2关闭
}
func (x *CSRoomRecruit) Reset() {
*x = CSRoomRecruit{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSRoomRecruit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSRoomRecruit) ProtoMessage() {}
func (x *CSRoomRecruit) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[49]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSRoomRecruit.ProtoReflect.Descriptor instead.
func (*CSRoomRecruit) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{49}
}
func (x *CSRoomRecruit) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *CSRoomRecruit) GetOn() int32 {
if x != nil {
return x.On
}
return 0
}
// PACKET_SCRoomRecruit
type SCRoomRecruit struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoomId int32 `protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"` // 房间id
On int32 `protobuf:"varint,2,opt,name=On,proto3" json:"On,omitempty"` // 开关 1开启 2关闭
}
func (x *SCRoomRecruit) Reset() {
*x = SCRoomRecruit{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCRoomRecruit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCRoomRecruit) ProtoMessage() {}
func (x *SCRoomRecruit) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[50]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCRoomRecruit.ProtoReflect.Descriptor instead.
func (*SCRoomRecruit) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{50}
}
func (x *SCRoomRecruit) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *SCRoomRecruit) GetOn() int32 {
if x != nil {
return x.On
}
return 0
}
// 邀请加入房间
// PACKET_CSInviteJoinRoom
type CSInviteJoinRoom struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CSInviteJoinRoom) Reset() {
*x = CSInviteJoinRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSInviteJoinRoom) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSInviteJoinRoom) ProtoMessage() {}
func (x *CSInviteJoinRoom) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[51]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSInviteJoinRoom.ProtoReflect.Descriptor instead.
func (*CSInviteJoinRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{51}
}
// PACKET_SCInviteJoinRoom
type SCInviteJoinRoom struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoomId int32 `protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"` // 房间id
IsSystem bool `protobuf:"varint,2,opt,name=IsSystem,proto3" json:"IsSystem,omitempty"` // 是否为系统房间
SnId int32 `protobuf:"varint,3,opt,name=SnId,proto3" json:"SnId,omitempty"` // 邀请者id
Name string `protobuf:"bytes,4,opt,name=Name,proto3" json:"Name,omitempty"` // 邀请者昵称
UseRoleId int32 `protobuf:"varint,5,opt,name=UseRoleId,proto3" json:"UseRoleId,omitempty"` // 邀请者人物模型id
RoomName string `protobuf:"bytes,6,opt,name=RoomName,proto3" json:"RoomName,omitempty"` // 房间名称
}
func (x *SCInviteJoinRoom) Reset() {
*x = SCInviteJoinRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCInviteJoinRoom) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCInviteJoinRoom) ProtoMessage() {}
func (x *SCInviteJoinRoom) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[52]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCInviteJoinRoom.ProtoReflect.Descriptor instead.
func (*SCInviteJoinRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{52}
}
func (x *SCInviteJoinRoom) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *SCInviteJoinRoom) GetIsSystem() bool {
if x != nil {
return x.IsSystem
}
return false
}
func (x *SCInviteJoinRoom) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *SCInviteJoinRoom) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SCInviteJoinRoom) GetUseRoleId() int32 {
if x != nil {
return x.UseRoleId
}
return 0
}
func (x *SCInviteJoinRoom) GetRoomName() string {
if x != nil {
return x.RoomName
}
return ""
}
var File_game_proto protoreflect.FileDescriptor
var file_game_proto_rawDesc = []byte{
0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x67, 0x61,
0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x22, 0xac, 0x01, 0x0a, 0x0c, 0x43, 0x53, 0x43, 0x72, 0x65,
0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12,
0x1a, 0x0a, 0x08, 0x42, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x08, 0x42, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x53,
0x63, 0x65, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
0x53, 0x63, 0x65, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x4d, 0x61, 0x78,
0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0c, 0x4d, 0x61, 0x78, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a,
0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x50,
0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0xd7, 0x01, 0x0a, 0x0c, 0x53, 0x43, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1a,
0x0a, 0x08, 0x42, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x08, 0x42, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x63,
0x65, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53,
0x63, 0x65, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x4d, 0x61, 0x78, 0x50,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c,
0x4d, 0x61, 0x78, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61,
0x72, 0x61, 0x6d, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64,
0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61,
0x6c, 0x6c, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f,
0x47, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22,
0x59, 0x0a, 0x0b, 0x43, 0x53, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x16,
0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1a,
0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0xfc, 0x01, 0x0a, 0x0b, 0x53,
0x43, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61,
0x6d, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65,
0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4d, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16,
0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64,
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16,
0x0a, 0x06, 0x48, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
0x48, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43,
0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x61, 0x6d, 0x65,
0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64,
0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64,
0x65, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x6c, 0x75, 0x62, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
0x05, 0x52, 0x06, 0x43, 0x6c, 0x75, 0x62, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d,
0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47,
0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x22, 0x72, 0x0a, 0x0c, 0x43, 0x53, 0x52,
0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x70, 0x6b,
0x56, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x70, 0x6b, 0x56, 0x65,
0x72, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x06, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x4c,
0x6f, 0x61, 0x64, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x49, 0x73, 0x4c,
0x6f, 0x61, 0x64, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0xfd, 0x02,
0x0a, 0x0c, 0x53, 0x43, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x39,
0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x4f, 0x70, 0x52,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x09,
0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f,
0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49,
0x64, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x6f, 0x64,
0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4d, 0x6f, 0x64,
0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18,
0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x16, 0x0a,
0x06, 0x48, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x48,
0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x69, 0x6e, 0x41, 0x70, 0x6b, 0x56,
0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4d, 0x69, 0x6e, 0x41, 0x70, 0x6b,
0x56, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x70, 0x6b,
0x56, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x4c, 0x61, 0x74, 0x65, 0x73,
0x74, 0x41, 0x70, 0x6b, 0x56, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x69, 0x6e, 0x52, 0x65,
0x73, 0x56, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4d, 0x69, 0x6e, 0x52,
0x65, 0x73, 0x56, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52,
0x65, 0x73, 0x56, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x4c, 0x61, 0x74,
0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x4c,
0x6f, 0x61, 0x64, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x49, 0x73, 0x4c,
0x6f, 0x61, 0x64, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x6c, 0x75, 0x62, 0x49, 0x64, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x6c, 0x75, 0x62, 0x49, 0x64, 0x22, 0x85, 0x01,
0x0a, 0x0b, 0x43, 0x53, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a,
0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a,
0x08, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52,
0x08, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x70, 0x6b, 0x56, 0x65, 0x72, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x70, 0x6b, 0x56, 0x65, 0x72, 0x12, 0x16, 0x0a,
0x06, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52,
0x65, 0x73, 0x56, 0x65, 0x72, 0x22, 0xf2, 0x01, 0x0a, 0x0b, 0x53, 0x43, 0x45, 0x6e, 0x74, 0x65,
0x72, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c,
0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x47, 0x61,
0x6d, 0x65, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4f, 0x70,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x69, 0x6e, 0x41, 0x70, 0x6b,
0x56, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4d, 0x69, 0x6e, 0x41, 0x70,
0x6b, 0x56, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x70,
0x6b, 0x56, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x4c, 0x61, 0x74, 0x65,
0x73, 0x74, 0x41, 0x70, 0x6b, 0x56, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x69, 0x6e, 0x52,
0x65, 0x73, 0x56, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4d, 0x69, 0x6e,
0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74,
0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x4c, 0x61,
0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x22, 0x3c, 0x0a, 0x0a, 0x43, 0x53,
0x51, 0x75, 0x69, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x73, 0x41, 0x75,
0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x49, 0x73,
0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x69, 0x0a, 0x0a, 0x53, 0x43, 0x51, 0x75,
0x69, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c,
0x6c, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x47,
0x61, 0x6d, 0x65, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x52,
0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x65, 0x61,
0x73, 0x6f, 0x6e, 0x22, 0xe3, 0x03, 0x0a, 0x0b, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x31, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x49, 0x64, 0x12, 0x1c, 0x0a,
0x09, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
0x52, 0x09, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x4d,
0x61, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0c, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12,
0x1c, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x05, 0x52, 0x09, 0x42, 0x61, 0x73, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x26, 0x0a,
0x0e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18,
0x05, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x50,
0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x65, 0x74, 0x53, 0x63, 0x6f, 0x72,
0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x42, 0x65, 0x74, 0x53, 0x63, 0x6f, 0x72,
0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x78, 0x42, 0x65, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x18,
0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x78, 0x42, 0x65, 0x74, 0x43, 0x6f, 0x69,
0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x08,
0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x12,
0x20, 0x0a, 0x0b, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x09,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x69,
0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x43, 0x66, 0x67, 0x18,
0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x43, 0x66,
0x67, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x08, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x63, 0x65,
0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x63,
0x65, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x73, 0x73,
0x47, 0x72, 0x61, 0x64, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05,
0x52, 0x0f, 0x43, 0x68, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x64, 0x65, 0x4c, 0x69, 0x6d, 0x69,
0x74, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20,
0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a,
0x08, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x64, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52,
0x08, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x64, 0x64, 0x22, 0x5f, 0x0a, 0x0f, 0x43, 0x53, 0x47,
0x65, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e,
0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e,
0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x0d, 0x43, 0x68,
0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x53,
0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72,
0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x0f, 0x53, 0x43, 0x47, 0x65, 0x74, 0x47,
0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x07, 0x47, 0x61, 0x6d,
0x65, 0x43, 0x66, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x61, 0x6d,
0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x31, 0x52, 0x07, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x66, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61,
0x6d, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65,
0x49, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x73,
0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c,
0x6c, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x0a, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x22, 0x45, 0x0a, 0x12, 0x53,
0x43, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75,
0x73, 0x12, 0x2f, 0x0a, 0x07, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x66, 0x67, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x47, 0x61,
0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x31, 0x52, 0x07, 0x47, 0x61, 0x6d, 0x65, 0x43,
0x66, 0x67, 0x22, 0x43, 0x0a, 0x13, 0x53, 0x43, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x6e, 0x64,
0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12,
0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x08, 0x52,
0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x83, 0x02, 0x0a, 0x13, 0x43, 0x53, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12,
0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12,
0x1e, 0x0a, 0x0a, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12,
0x22, 0x0a, 0x0c, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01,
0x28, 0x05, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x6c, 0x61,
0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, 0x6c,
0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x4e, 0x65, 0x65, 0x64, 0x50,
0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x4e,
0x65, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x43,
0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43,
0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x6f, 0x69, 0x63, 0x65,
0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x22, 0xf2, 0x02,
0x0a, 0x13, 0x53, 0x43, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74,
0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x39, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f,
0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68,
0x61, 0x6c, 0x6c, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65,
0x5f, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65,
0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64,
0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x03,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64,
0x12, 0x22, 0x0a, 0x0c, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64,
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x05, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x6c,
0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x4e, 0x65, 0x65, 0x64,
0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c,
0x4e, 0x65, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08,
0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x6f, 0x69, 0x63,
0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x16,
0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f,
0x72, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f,
0x72, 0x64, 0x22, 0x92, 0x01, 0x0a, 0x14, 0x43, 0x53, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76,
0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x52,
0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0c, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12,
0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12,
0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x6f, 0x6f, 0x6d, 0x54,
0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x6f, 0x6f,
0x6d, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22, 0x59, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, 0x61,
0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04,
0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64,
0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x49,
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x55, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65,
0x49, 0x64, 0x22, 0x92, 0x04, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x6f,
0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72,
0x65, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65,
0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1e,
0x0a, 0x0a, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0a, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x22,
0x0a, 0x0c, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x18, 0x04,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x4e, 0x65,
0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0c, 0x4e, 0x65, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1c,
0x0a, 0x09, 0x43, 0x75, 0x72, 0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x43, 0x75, 0x72, 0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08,
0x4d, 0x61, 0x78, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
0x4d, 0x61, 0x78, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x75, 0x72, 0x72,
0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x75, 0x72, 0x72, 0x4e,
0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x78, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18,
0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4d, 0x61, 0x78, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
0x12, 0x1a, 0x0a, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x73, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x03, 0x52, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x73, 0x12, 0x14, 0x0a, 0x05,
0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61,
0x74, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x50,
0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x07, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x53,
0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x49, 0x73, 0x53,
0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x57, 0x69, 0x6e, 0x53, 0x6e, 0x49, 0x64,
0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x57, 0x69, 0x6e, 0x53, 0x6e, 0x49, 0x64, 0x12,
0x18, 0x0a, 0x07, 0x57, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x57, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x57, 0x69, 0x6e,
0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x57, 0x69,
0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x14, 0x53, 0x43, 0x47, 0x65, 0x74,
0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12,
0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x12,
0x2f, 0x0a, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19,
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74,
0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73,
0x22, 0x75, 0x0a, 0x0f, 0x43, 0x53, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x49,
0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x73, 0x12, 0x1a, 0x0a,
0x08, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x08, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x69, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18,
0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x63, 0x65,
0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x63,
0x65, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x9b, 0x02, 0x0a, 0x09, 0x51, 0x52, 0x6f, 0x6f,
0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65,
0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46,
0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a,
0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52,
0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x69,
0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x42, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x69,
0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x05,
0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12,
0x18, 0x0a, 0x07, 0x43, 0x75, 0x72, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
0x52, 0x07, 0x43, 0x75, 0x72, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x78,
0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4d, 0x61,
0x78, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x72, 0x65, 0x61, 0x74,
0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f,
0x72, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x73, 0x18, 0x09, 0x20,
0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x73, 0x12, 0x16, 0x0a,
0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x50,
0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x0f, 0x53, 0x43, 0x51, 0x75, 0x65, 0x72,
0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x61, 0x6d,
0x65, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x47, 0x61, 0x6d, 0x65,
0x49, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x69, 0x74, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x69, 0x74, 0x65, 0x12,
0x2f, 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x13, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x51, 0x52, 0x6f,
0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f,
0x12, 0x39, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x4f,
0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65,
0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x4d, 0x0a, 0x09, 0x47,
0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65,
0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61,
0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x02,
0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x54, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x63, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x53, 0x65, 0x63, 0x22, 0x36, 0x0a, 0x0b, 0x53, 0x43,
0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x4c, 0x69, 0x73,
0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61,
0x6c, 0x6c, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69,
0x73, 0x74, 0x22, 0x27, 0x0a, 0x0d, 0x43, 0x53, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65,
0x53, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x5c, 0x0a, 0x0d, 0x53,
0x43, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06,
0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f,
0x6f, 0x6d, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e,
0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x47, 0x61, 0x6d,
0x65, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x77, 0x0a, 0x11, 0x43, 0x53, 0x52,
0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x16,
0x0a, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69,
0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69,
0x7a, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4f, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
0x03, 0x4f, 0x70, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69,
0x6d, 0x65, 0x22, 0xb8, 0x03, 0x0a, 0x0c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x74,
0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a,
0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x79, 0x70, 0x65, 0x4e,
0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x54, 0x79, 0x70, 0x65, 0x4e,
0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74,
0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72,
0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65,
0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12,
0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x43,
0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12,
0x16, 0x0a, 0x06, 0x49, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x49, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x74, 0x69, 0x63,
0x65, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x74, 0x69, 0x63,
0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x4c, 0x6f, 0x6f, 0x70, 0x18, 0x0c, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x73, 0x4c, 0x6f, 0x6f, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x4c,
0x6f, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4c,
0x6f, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61,
0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d,
0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a,
0x03, 0x55, 0x72, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x12,
0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x6f, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01,
0x28, 0x05, 0x52, 0x09, 0x4c, 0x6f, 0x6f, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc0, 0x01,
0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1e,
0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x69, 0x64, 0x12, 0x2c,
0x0a, 0x11, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x6f,
0x67, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x47, 0x61, 0x6d, 0x65, 0x44,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x54,
0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f,
0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f,
0x75, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02,
0x54, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18,
0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65,
0x22, 0xbc, 0x01, 0x0a, 0x11, 0x53, 0x43, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x6e, 0x64,
0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c,
0x6c, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x47,
0x61, 0x6d, 0x65, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x4c,
0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x61, 0x6d, 0x65,
0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x63,
0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x05, 0x47, 0x6c, 0x69, 0x73, 0x74,
0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c,
0x6c, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x05,
0x47, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x73,
0x18, 0x04, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x47, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x73, 0x22,
0x10, 0x0a, 0x0e, 0x53, 0x43, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67,
0x65, 0x22, 0x0f, 0x0a, 0x0d, 0x43, 0x53, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x6f,
0x6f, 0x6d, 0x22, 0x7c, 0x0a, 0x0d, 0x53, 0x43, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52,
0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x09, 0x4f,
0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b,
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52,
0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x46, 0x6f, 0x72, 0x63,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x49, 0x73, 0x46, 0x6f, 0x72, 0x63, 0x65,
0x22, 0x21, 0x0a, 0x0b, 0x43, 0x53, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12,
0x12, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4d,
0x6f, 0x64, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x0b, 0x53, 0x43, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52,
0x6f, 0x6f, 0x6d, 0x12, 0x39, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c,
0x6c, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x47,
0x61, 0x6d, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16,
0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64,
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x12,
0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4d, 0x6f,
0x64, 0x65, 0x22, 0x0e, 0x0a, 0x0c, 0x43, 0x53, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61,
0x72, 0x74, 0x22, 0x49, 0x0a, 0x0c, 0x53, 0x43, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61,
0x72, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c,
0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x47, 0x61,
0x6d, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x3b, 0x0a,
0x11, 0x43, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x77, 0x69, 0x74, 0x68, 0x46, 0x6c,
0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x4d, 0x61, 0x72, 0x6b, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4d, 0x61, 0x72, 0x6b, 0x22, 0x4d, 0x0a, 0x0b, 0x43, 0x53,
0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e,
0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74,
0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x03,
0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0xa4, 0x01, 0x0a, 0x0b, 0x53, 0x43,
0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x4f, 0x70, 0x43,
0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x61, 0x6d, 0x65,
0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64,
0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0e,
0x0a, 0x02, 0x54, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x12, 0x10,
0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73,
0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61,
0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d,
0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x54, 0x73,
0x22, 0x2c, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03,
0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0x49,
0x0a, 0x0b, 0x43, 0x53, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a,
0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x67, 0x61, 0x6d, 0x65,
0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x02, 0x54,
0x70, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
0x05, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xb8, 0x03, 0x0a, 0x0e, 0x52, 0x6f,
0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02,
0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04,
0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65,
0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x05, 0x52, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02,
0x4f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x16, 0x0a, 0x06,
0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f,
0x72, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x49, 0x74,
0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x06,
0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68,
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52,
0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e,
0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x03,
0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x14,
0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x52,
0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75,
0x6d, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e,
0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x4e, 0x65, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f,
0x72, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x4e, 0x65, 0x65, 0x64, 0x50, 0x61,
0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79,
0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79,
0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x6d, 0x61, 0x67,
0x65, 0x55, 0x52, 0x49, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x49, 0x6d, 0x61, 0x67,
0x65, 0x55, 0x52, 0x49, 0x22, 0x88, 0x01, 0x0a, 0x0c, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70,
0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72,
0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49,
0x64, 0x12, 0x2c, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x18, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22,
0x0e, 0x0a, 0x0c, 0x43, 0x53, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22,
0x3a, 0x0a, 0x0c, 0x53, 0x43, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
0x2a, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e,
0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70,
0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x37, 0x0a, 0x0d, 0x43,
0x53, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x72, 0x75, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06,
0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f,
0x6f, 0x6d, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x02, 0x4f, 0x6e, 0x22, 0x37, 0x0a, 0x0d, 0x53, 0x43, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65,
0x63, 0x72, 0x75, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x0e, 0x0a,
0x02, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x22, 0x12, 0x0a,
0x10, 0x43, 0x53, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x6f, 0x6f,
0x6d, 0x22, 0xa8, 0x01, 0x0a, 0x10, 0x53, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4a, 0x6f,
0x69, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1a,
0x0a, 0x08, 0x49, 0x73, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
0x52, 0x08, 0x49, 0x73, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e,
0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x12,
0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61,
0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18,
0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x55, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64,
0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x2a, 0xb1, 0x0a, 0x0a,
0x11, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x47, 0x61,
0x6d, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73,
0x73, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x50, 0x52, 0x43,
0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x01, 0x12, 0x1b, 0x0a,
0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x52, 0x6f, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69,
0x73, 0x74, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xf8, 0x07, 0x12, 0x1b, 0x0a, 0x16, 0x4f, 0x50,
0x52, 0x43, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x5f,
0x47, 0x61, 0x6d, 0x65, 0x10, 0xf9, 0x07, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f,
0x47, 0x61, 0x6d, 0x65, 0x48, 0x61, 0x64, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x10, 0xfa, 0x07,
0x12, 0x19, 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x73, 0x46,
0x75, 0x6c, 0x6c, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xfb, 0x07, 0x12, 0x1b, 0x0a, 0x16, 0x4f,
0x50, 0x52, 0x43, 0x5f, 0x52, 0x6f, 0x6f, 0x6d, 0x48, 0x61, 0x64, 0x45, 0x78, 0x69, 0x73, 0x74,
0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xfc, 0x07, 0x12, 0x1b, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43,
0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x47, 0x61,
0x6d, 0x65, 0x10, 0xfe, 0x07, 0x12, 0x27, 0x0a, 0x22, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x61,
0x6e, 0x6e, 0x6f, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49,
0x6e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x80, 0x08, 0x12, 0x1d,
0x0a, 0x18, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x4e, 0x6f, 0x74, 0x45,
0x6e, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x90, 0x08, 0x12, 0x2c, 0x0a,
0x27, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x57, 0x61, 0x74, 0x63,
0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x53, 0x74,
0x61, 0x72, 0x74, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x92, 0x08, 0x12, 0x27, 0x0a, 0x22, 0x4f,
0x50, 0x52, 0x43, 0x5f, 0x4f, 0x6e, 0x6c, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6c, 0x75,
0x62, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x47, 0x61, 0x6d,
0x65, 0x10, 0x93, 0x08, 0x12, 0x1e, 0x0a, 0x19, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x59, 0x6f, 0x75,
0x72, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x49, 0x73, 0x4c, 0x6f, 0x77, 0x5f, 0x47, 0x61, 0x6d,
0x65, 0x10, 0x94, 0x08, 0x12, 0x1e, 0x0a, 0x19, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x59, 0x6f, 0x75,
0x72, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x49, 0x73, 0x4c, 0x6f, 0x77, 0x5f, 0x47, 0x61, 0x6d,
0x65, 0x10, 0x95, 0x08, 0x12, 0x1b, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x63, 0x65,
0x6e, 0x65, 0x50, 0x6f, 0x73, 0x46, 0x75, 0x6c, 0x6c, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x98,
0x08, 0x12, 0x23, 0x0a, 0x1e, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45,
0x6e, 0x74, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x47,
0x61, 0x6d, 0x65, 0x10, 0x9a, 0x08, 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x52,
0x6f, 0x6f, 0x6d, 0x48, 0x61, 0x64, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x47, 0x61, 0x6d,
0x65, 0x10, 0x9d, 0x08, 0x12, 0x22, 0x0a, 0x1d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x63, 0x65,
0x6e, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e,
0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x9e, 0x08, 0x12, 0x1b, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43,
0x5f, 0x53, 0x61, 0x6d, 0x65, 0x49, 0x70, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x5f, 0x47, 0x61,
0x6d, 0x65, 0x10, 0x9f, 0x08, 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6f,
0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x47, 0x61, 0x6d, 0x65,
0x10, 0xa0, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6f, 0x69, 0x6e,
0x54, 0x6f, 0x6f, 0x4d, 0x6f, 0x72, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xa2, 0x08, 0x12,
0x1d, 0x0a, 0x18, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x49, 0x6e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x47,
0x61, 0x6d, 0x65, 0x49, 0x6e, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xa3, 0x08, 0x12, 0x16,
0x0a, 0x11, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4f, 0x70, 0x59, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x47,
0x61, 0x6d, 0x65, 0x10, 0xba, 0x08, 0x12, 0x20, 0x0a, 0x1b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x41,
0x6c, 0x6c, 0x6f, 0x63, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64,
0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xc9, 0x08, 0x12, 0x24, 0x0a, 0x1f, 0x4f, 0x50, 0x52, 0x43,
0x5f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xca, 0x08, 0x12, 0x15,
0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x52, 0x6f, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x45, 0x78,
0x69, 0x74, 0x10, 0xcb, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4d, 0x61,
0x74, 0x63, 0x68, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x10, 0xcc, 0x08, 0x12, 0x17,
0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x45,
0x72, 0x72, 0x6f, 0x72, 0x10, 0xcd, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f,
0x43, 0x6f, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xce, 0x08,
0x12, 0x22, 0x0a, 0x1d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x69,
0x63, 0x65, 0x5f, 0x53, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x78, 0x5f, 0x47, 0x61, 0x6d,
0x65, 0x10, 0xb3, 0x08, 0x12, 0x22, 0x0a, 0x1d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x77,
0x65, 0x72, 0x52, 0x69, 0x63, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x78,
0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xb4, 0x08, 0x12, 0x26, 0x0a, 0x21, 0x4f, 0x50, 0x52, 0x43,
0x5f, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x69, 0x63, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65,
0x72, 0x44, 0x6f, 0x77, 0x6e, 0x4d, 0x61, 0x78, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xb5, 0x08,
0x12, 0x27, 0x0a, 0x22, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x59, 0x6f, 0x75, 0x72, 0x41, 0x72, 0x65,
0x47, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x4c, 0x65, 0x61, 0x76,
0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xb6, 0x08, 0x12, 0x21, 0x0a, 0x1c, 0x4f, 0x50, 0x52,
0x43, 0x5f, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73,
0x73, 0x69, 0x6e, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xc8, 0x08, 0x12, 0x1c, 0x0a, 0x17,
0x4f, 0x50, 0x52, 0x43, 0x5f, 0x52, 0x6f, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d,
0x65, 0x73, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xcf, 0x08, 0x12, 0x1f, 0x0a, 0x1a, 0x4f, 0x50,
0x52, 0x43, 0x5f, 0x4d, 0x75, 0x73, 0x74, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6d, 0x6f,
0x74, 0x65, 0x72, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xd9, 0x08, 0x12, 0x1f, 0x0a, 0x1a, 0x4f,
0x70, 0x72, 0x63, 0x5f, 0x43, 0x6c, 0x75, 0x62, 0x5f, 0x43, 0x6c, 0x75, 0x62, 0x49, 0x73, 0x43,
0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x9f, 0x27, 0x12, 0x1b, 0x0a, 0x16,
0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x67, 0x5f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x45, 0x72,
0x72, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xa8, 0x46, 0x12, 0x1a, 0x0a, 0x15, 0x4f, 0x50, 0x52,
0x43, 0x5f, 0x44, 0x67, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x45, 0x72, 0x72, 0x5f, 0x47, 0x61,
0x6d, 0x65, 0x10, 0xa9, 0x46, 0x12, 0x19, 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x67,
0x5f, 0x50, 0x6c, 0x61, 0x74, 0x45, 0x72, 0x72, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xaa, 0x46,
0x12, 0x20, 0x0a, 0x1b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x67, 0x5f, 0x51, 0x75, 0x6f, 0x74,
0x61, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10,
0xab, 0x46, 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x54, 0x68, 0x72, 0x5f, 0x47,
0x61, 0x6d, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xb2, 0x46,
0x2a, 0xba, 0x0a, 0x0a, 0x10, 0x47, 0x61, 0x6d, 0x65, 0x48, 0x61, 0x6c, 0x6c, 0x50, 0x61, 0x63,
0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
0x47, 0x61, 0x6d, 0x65, 0x48, 0x61, 0x6c, 0x6c, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12,
0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x43, 0x52, 0x45,
0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x9a, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41,
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x4f,
0x4f, 0x4d, 0x10, 0x9b, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
0x43, 0x53, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x9c, 0x11, 0x12,
0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x45, 0x4e, 0x54,
0x45, 0x52, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x9d, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43,
0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x52, 0x4f, 0x4f,
0x4d, 0x10, 0x9e, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53,
0x43, 0x5f, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x9f, 0x11, 0x12,
0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x45, 0x4e, 0x54,
0x45, 0x52, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xa1, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43,
0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x47, 0x41, 0x4d, 0x45,
0x10, 0xa2, 0x11, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53,
0x5f, 0x51, 0x55, 0x49, 0x54, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xa3, 0x11, 0x12, 0x17, 0x0a, 0x12,
0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x51, 0x55, 0x49, 0x54, 0x47, 0x41,
0x4d, 0x45, 0x10, 0xa4, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x47, 0x41, 0x4d, 0x45, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47,
0x10, 0xb7, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43,
0x5f, 0x47, 0x45, 0x54, 0x47, 0x41, 0x4d, 0x45, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0xb8,
0x11, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43,
0x48, 0x41, 0x4e, 0x47, 0x45, 0x47, 0x41, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10,
0xb9, 0x11, 0x12, 0x23, 0x0a, 0x1e, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f,
0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x52, 0x45, 0x43, 0x48, 0x41, 0x52, 0x47, 0x45, 0x41, 0x4e,
0x53, 0x57, 0x45, 0x52, 0x10, 0xd2, 0x11, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45,
0x54, 0x5f, 0x43, 0x53, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x50, 0x52, 0x49, 0x56, 0x41,
0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xe0, 0x11, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43,
0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x50, 0x52, 0x49,
0x56, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xe1, 0x11, 0x12, 0x21, 0x0a, 0x1c, 0x50,
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x50, 0x52, 0x49, 0x56,
0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xe2, 0x11, 0x12, 0x21,
0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x50,
0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xe3,
0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x51,
0x55, 0x45, 0x52, 0x59, 0x52, 0x4f, 0x4f, 0x4d, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xe8, 0x11, 0x12,
0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x51, 0x55, 0x45,
0x52, 0x59, 0x52, 0x4f, 0x4f, 0x4d, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xe9, 0x11, 0x12, 0x18, 0x0a,
0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x53,
0x54, 0x41, 0x54, 0x45, 0x10, 0xed, 0x11, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45,
0x54, 0x5f, 0x43, 0x53, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x4e,
0x54, 0x45, 0x52, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xa0, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41,
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x45, 0x4e, 0x43, 0x45,
0x53, 0x49, 0x54, 0x10, 0xf5, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
0x5f, 0x53, 0x43, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x45, 0x4e, 0x43, 0x45, 0x53, 0x49, 0x54, 0x10,
0xf6, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f,
0x43, 0x4f, 0x4d, 0x4e, 0x4f, 0x54, 0x49, 0x43, 0x45, 0x10, 0xf7, 0x11, 0x12, 0x18, 0x0a, 0x13,
0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x4f, 0x4d, 0x4e, 0x4f, 0x54,
0x49, 0x43, 0x45, 0x10, 0xf8, 0x11, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
0x5f, 0x53, 0x43, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x53,
0x57, 0x49, 0x54, 0x43, 0x48, 0x10, 0xf9, 0x11, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b,
0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e,
0x67, 0x65, 0x10, 0xfa, 0x11, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
0x43, 0x53, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x10, 0xfb, 0x11, 0x12, 0x18,
0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x52, 0x6f, 0x6f, 0x6d, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0xfc, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b,
0x45, 0x54, 0x5f, 0x53, 0x43, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10,
0xfd, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x52,
0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x72, 0x75, 0x69, 0x74, 0x10, 0xfe, 0x11, 0x12, 0x19, 0x0a,
0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65,
0x63, 0x72, 0x75, 0x69, 0x74, 0x10, 0xff, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b,
0x45, 0x54, 0x5f, 0x43, 0x53, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x52,
0x6f, 0x6f, 0x6d, 0x10, 0x80, 0x12, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
0x5f, 0x53, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x6f, 0x6f,
0x6d, 0x10, 0x81, 0x12, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43,
0x53, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xc1, 0x3e, 0x12, 0x18,
0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x45, 0x41, 0x56,
0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xc2, 0x3e, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b,
0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x52, 0x4f, 0x4f,
0x4d, 0x10, 0xc3, 0x3e, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53,
0x43, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xc4, 0x3e,
0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x46, 0x4f,
0x52, 0x43, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0xc5, 0x3e, 0x12, 0x19, 0x0a, 0x14, 0x50,
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x53, 0x54,
0x41, 0x52, 0x54, 0x10, 0xc6, 0x3e, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
0x5f, 0x43, 0x53, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4c, 0x45, 0x41,
0x56, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xc7, 0x3e, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43,
0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x53, 0x57,
0x49, 0x54, 0x43, 0x48, 0x46, 0x4c, 0x41, 0x47, 0x10, 0xc8, 0x3e, 0x12, 0x17, 0x0a, 0x12, 0x50,
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x76, 0x65, 0x6e,
0x74, 0x10, 0xc9, 0x3e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53,
0x43, 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0xca, 0x3e, 0x2a, 0x29, 0x0a,
0x08, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x5a, 0x65, 0x72,
0x6f, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x6f,
0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x10, 0x01, 0x42, 0x28, 0x5a, 0x26, 0x6d, 0x6f, 0x6e, 0x67,
0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65,
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61,
0x6c, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_game_proto_rawDescOnce sync.Once
file_game_proto_rawDescData = file_game_proto_rawDesc
)
func file_game_proto_rawDescGZIP() []byte {
file_game_proto_rawDescOnce.Do(func() {
file_game_proto_rawDescData = protoimpl.X.CompressGZIP(file_game_proto_rawDescData)
})
return file_game_proto_rawDescData
}
var file_game_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_game_proto_msgTypes = make([]protoimpl.MessageInfo, 53)
var file_game_proto_goTypes = []interface{}{
(OpResultCode_Game)(0), // 0: gamehall.OpResultCode_Game
(GameHallPacketID)(0), // 1: gamehall.GameHallPacketID
(DataType)(0), // 2: gamehall.DataType
(*CSCreateRoom)(nil), // 3: gamehall.CSCreateRoom
(*SCCreateRoom)(nil), // 4: gamehall.SCCreateRoom
(*CSEnterRoom)(nil), // 5: gamehall.CSEnterRoom
(*SCEnterRoom)(nil), // 6: gamehall.SCEnterRoom
(*CSReturnRoom)(nil), // 7: gamehall.CSReturnRoom
(*SCReturnRoom)(nil), // 8: gamehall.SCReturnRoom
(*CSEnterGame)(nil), // 9: gamehall.CSEnterGame
(*SCEnterGame)(nil), // 10: gamehall.SCEnterGame
(*CSQuitGame)(nil), // 11: gamehall.CSQuitGame
(*SCQuitGame)(nil), // 12: gamehall.SCQuitGame
(*GameConfig1)(nil), // 13: gamehall.GameConfig1
(*CSGetGameConfig)(nil), // 14: gamehall.CSGetGameConfig
(*ChessRankInfo)(nil), // 15: gamehall.ChessRankInfo
(*SCGetGameConfig)(nil), // 16: gamehall.SCGetGameConfig
(*SCChangeGameStatus)(nil), // 17: gamehall.SCChangeGameStatus
(*SCChangeEntrySwitch)(nil), // 18: gamehall.SCChangeEntrySwitch
(*CSCreatePrivateRoom)(nil), // 19: gamehall.CSCreatePrivateRoom
(*SCCreatePrivateRoom)(nil), // 20: gamehall.SCCreatePrivateRoom
(*CSGetPrivateRoomList)(nil), // 21: gamehall.CSGetPrivateRoomList
(*PrivatePlayerInfo)(nil), // 22: gamehall.PrivatePlayerInfo
(*PrivateRoomInfo)(nil), // 23: gamehall.PrivateRoomInfo
(*SCGetPrivateRoomList)(nil), // 24: gamehall.SCGetPrivateRoomList
(*CSQueryRoomInfo)(nil), // 25: gamehall.CSQueryRoomInfo
(*QRoomInfo)(nil), // 26: gamehall.QRoomInfo
(*SCQueryRoomInfo)(nil), // 27: gamehall.SCQueryRoomInfo
(*GameState)(nil), // 28: gamehall.GameState
(*SCGameState)(nil), // 29: gamehall.SCGameState
(*CSAudienceSit)(nil), // 30: gamehall.CSAudienceSit
(*SCAudienceSit)(nil), // 31: gamehall.SCAudienceSit
(*CSRecordAndNotice)(nil), // 32: gamehall.CSRecordAndNotice
(*CommonNotice)(nil), // 33: gamehall.CommonNotice
(*PlayerRecord)(nil), // 34: gamehall.PlayerRecord
(*SCRecordAndNotice)(nil), // 35: gamehall.SCRecordAndNotice
(*SCNoticeChange)(nil), // 36: gamehall.SCNoticeChange
(*CSDestroyRoom)(nil), // 37: gamehall.CSDestroyRoom
(*SCDestroyRoom)(nil), // 38: gamehall.SCDestroyRoom
(*CSLeaveRoom)(nil), // 39: gamehall.CSLeaveRoom
(*SCLeaveRoom)(nil), // 40: gamehall.SCLeaveRoom
(*CSForceStart)(nil), // 41: gamehall.CSForceStart
(*SCForceStart)(nil), // 42: gamehall.SCForceStart
(*CSPlayerSwithFlag)(nil), // 43: gamehall.CSPlayerSwithFlag
(*CSRoomEvent)(nil), // 44: gamehall.CSRoomEvent
(*SCRoomEvent)(nil), // 45: gamehall.SCRoomEvent
(*ItemInfo)(nil), // 46: gamehall.ItemInfo
(*CSTouchType)(nil), // 47: gamehall.CSTouchType
(*RoomConfigInfo)(nil), // 48: gamehall.RoomConfigInfo
(*RoomTypeInfo)(nil), // 49: gamehall.RoomTypeInfo
(*CSRoomConfig)(nil), // 50: gamehall.CSRoomConfig
(*SCRoomConfig)(nil), // 51: gamehall.SCRoomConfig
(*CSRoomRecruit)(nil), // 52: gamehall.CSRoomRecruit
(*SCRoomRecruit)(nil), // 53: gamehall.SCRoomRecruit
(*CSInviteJoinRoom)(nil), // 54: gamehall.CSInviteJoinRoom
(*SCInviteJoinRoom)(nil), // 55: gamehall.SCInviteJoinRoom
}
var file_game_proto_depIdxs = []int32{
0, // 0: gamehall.SCCreateRoom.OpRetCode:type_name -> gamehall.OpResultCode_Game
0, // 1: gamehall.SCEnterRoom.OpRetCode:type_name -> gamehall.OpResultCode_Game
0, // 2: gamehall.SCReturnRoom.OpRetCode:type_name -> gamehall.OpResultCode_Game
0, // 3: gamehall.SCEnterGame.OpCode:type_name -> gamehall.OpResultCode_Game
0, // 4: gamehall.SCQuitGame.OpCode:type_name -> gamehall.OpResultCode_Game
13, // 5: gamehall.SCGetGameConfig.GameCfg:type_name -> gamehall.GameConfig1
15, // 6: gamehall.SCGetGameConfig.ChessRanks:type_name -> gamehall.ChessRankInfo
13, // 7: gamehall.SCChangeGameStatus.GameCfg:type_name -> gamehall.GameConfig1
0, // 8: gamehall.SCCreatePrivateRoom.OpRetCode:type_name -> gamehall.OpResultCode_Game
22, // 9: gamehall.PrivateRoomInfo.Players:type_name -> gamehall.PrivatePlayerInfo
23, // 10: gamehall.SCGetPrivateRoomList.Datas:type_name -> gamehall.PrivateRoomInfo
26, // 11: gamehall.SCQueryRoomInfo.RoomInfo:type_name -> gamehall.QRoomInfo
0, // 12: gamehall.SCQueryRoomInfo.OpRetCode:type_name -> gamehall.OpResultCode_Game
28, // 13: gamehall.SCGameState.List:type_name -> gamehall.GameState
0, // 14: gamehall.SCAudienceSit.OpCode:type_name -> gamehall.OpResultCode_Game
0, // 15: gamehall.SCRecordAndNotice.OpCode:type_name -> gamehall.OpResultCode_Game
33, // 16: gamehall.SCRecordAndNotice.List:type_name -> gamehall.CommonNotice
34, // 17: gamehall.SCRecordAndNotice.Glist:type_name -> gamehall.PlayerRecord
0, // 18: gamehall.SCDestroyRoom.OpRetCode:type_name -> gamehall.OpResultCode_Game
0, // 19: gamehall.SCLeaveRoom.OpRetCode:type_name -> gamehall.OpResultCode_Game
0, // 20: gamehall.SCForceStart.OpRetCode:type_name -> gamehall.OpResultCode_Game
0, // 21: gamehall.SCRoomEvent.OpCode:type_name -> gamehall.OpResultCode_Game
2, // 22: gamehall.CSTouchType.Tp:type_name -> gamehall.DataType
46, // 23: gamehall.RoomConfigInfo.Cost:type_name -> gamehall.ItemInfo
46, // 24: gamehall.RoomConfigInfo.Reward:type_name -> gamehall.ItemInfo
48, // 25: gamehall.RoomTypeInfo.List:type_name -> gamehall.RoomConfigInfo
49, // 26: gamehall.SCRoomConfig.List:type_name -> gamehall.RoomTypeInfo
27, // [27:27] is the sub-list for method output_type
27, // [27:27] is the sub-list for method input_type
27, // [27:27] is the sub-list for extension type_name
27, // [27:27] is the sub-list for extension extendee
0, // [0:27] is the sub-list for field type_name
}
func init() { file_game_proto_init() }
func file_game_proto_init() {
if File_game_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_game_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSCreateRoom); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCCreateRoom); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSEnterRoom); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCEnterRoom); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSReturnRoom); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCReturnRoom); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSEnterGame); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCEnterGame); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSQuitGame); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCQuitGame); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GameConfig1); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSGetGameConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChessRankInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCGetGameConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCChangeGameStatus); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCChangeEntrySwitch); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSCreatePrivateRoom); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCCreatePrivateRoom); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSGetPrivateRoomList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PrivatePlayerInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PrivateRoomInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCGetPrivateRoomList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSQueryRoomInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QRoomInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCQueryRoomInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GameState); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCGameState); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSAudienceSit); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCAudienceSit); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSRecordAndNotice); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CommonNotice); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PlayerRecord); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCRecordAndNotice); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCNoticeChange); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSDestroyRoom); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCDestroyRoom); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSLeaveRoom); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCLeaveRoom); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSForceStart); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCForceStart); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSPlayerSwithFlag); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSRoomEvent); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCRoomEvent); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ItemInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSTouchType); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RoomConfigInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RoomTypeInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSRoomConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCRoomConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSRoomRecruit); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCRoomRecruit); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSInviteJoinRoom); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCInviteJoinRoom); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_game_proto_rawDesc,
NumEnums: 3,
NumMessages: 53,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_game_proto_goTypes,
DependencyIndexes: file_game_proto_depIdxs,
EnumInfos: file_game_proto_enumTypes,
MessageInfos: file_game_proto_msgTypes,
}.Build()
File_game_proto = out.File
file_game_proto_rawDesc = nil
file_game_proto_goTypes = nil
file_game_proto_depIdxs = nil
}