game_sync/protocol/gamehall/game.pb.go

9608 lines
327 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_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",
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_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}
}
//消息id 2200-2319
type GameHallPacketID int32
const (
GameHallPacketID_PACKET_GameHall_ZERO GameHallPacketID = 0 // 弃用消息号
GameHallPacketID_PACKET_CS_JOINGAME GameHallPacketID = 2200
GameHallPacketID_PACKET_SC_JOINGAME GameHallPacketID = 2201
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_AUDIENCE_ENTERROOM GameHallPacketID = 2208
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_SC_CARDGAINWAY GameHallPacketID = 2213
GameHallPacketID_PACKET_CS_TASKLIST GameHallPacketID = 2214
GameHallPacketID_PACKET_SC_TASKLIST GameHallPacketID = 2215
GameHallPacketID_PACKET_SC_TASKCHG GameHallPacketID = 2216
GameHallPacketID_PACKET_SC_TACKCOMPLETE GameHallPacketID = 2217
GameHallPacketID_PACKET_SC_TASKDEL GameHallPacketID = 2218
GameHallPacketID_PACKET_CS_TACKDRAWPRIZE GameHallPacketID = 2219
GameHallPacketID_PACKET_SC_TACKDRAWPRIZE GameHallPacketID = 2220
GameHallPacketID_PACKET_CS_GETAGENTGAMEREC GameHallPacketID = 2223
GameHallPacketID_PACKET_SC_GETAGENTGAMEREC GameHallPacketID = 2224
GameHallPacketID_PACKET_CS_DELAGENTGAMEREC GameHallPacketID = 2225
GameHallPacketID_PACKET_CS_SHOPBUY GameHallPacketID = 2226
GameHallPacketID_PACKET_SC_SHOPBUY GameHallPacketID = 2227
GameHallPacketID_PACKET_SC_LIMITLIST GameHallPacketID = 2228
GameHallPacketID_PACKET_CS_GETLATELYGAMEIDS GameHallPacketID = 2229
GameHallPacketID_PACKET_SC_GETLATELYGAMEIDS GameHallPacketID = 2230
GameHallPacketID_PACKET_CS_GETGAMECONFIG GameHallPacketID = 2231
GameHallPacketID_PACKET_SC_GETGAMECONFIG GameHallPacketID = 2232
GameHallPacketID_PACKET_SC_CHANGEGAMESTATUS GameHallPacketID = 2233
GameHallPacketID_PACKET_CS_ENTERHALL GameHallPacketID = 2240
GameHallPacketID_PACKET_SC_ENTERHALL GameHallPacketID = 2241
GameHallPacketID_PACKET_CS_LEAVEHALL GameHallPacketID = 2242
GameHallPacketID_PACKET_SC_LEAVEHALL GameHallPacketID = 2243
GameHallPacketID_PACKET_CS_HALLROOMLIST GameHallPacketID = 2244
GameHallPacketID_PACKET_SC_HALLROOMLIST GameHallPacketID = 2245
GameHallPacketID_PACKET_SC_ROOMPLAYERENTER GameHallPacketID = 2246
GameHallPacketID_PACKET_SC_ROOMPLAYERLEAVE GameHallPacketID = 2247
GameHallPacketID_PACKET_SC_ROOMSTATECHANG GameHallPacketID = 2248
GameHallPacketID_PACKET_SC_HALLPLAYERNUM GameHallPacketID = 2249
GameHallPacketID_PACKET_SC_BULLETIONINFO GameHallPacketID = 2250
GameHallPacketID_PACKET_CS_BULLETIONINFO GameHallPacketID = 2251
GameHallPacketID_PACKET_CS_CUSTOMERINFOLIST GameHallPacketID = 2252
GameHallPacketID_PACKET_SC_CUSTOMERINFOLIST GameHallPacketID = 2253
GameHallPacketID_PACKET_CS_ENTERDGGAME GameHallPacketID = 2254
GameHallPacketID_PACKET_SC_ENTERDGGAME GameHallPacketID = 2255
GameHallPacketID_PACKET_CS_LEAVEDGGAME GameHallPacketID = 2256
GameHallPacketID_PACKET_SC_LEAVEDGGAME GameHallPacketID = 2257
GameHallPacketID_PACKET_SC_PLAYERRECHARGEANSWER GameHallPacketID = 2258 //充值弹框协议
GameHallPacketID_PACKET_CS_THRIDACCOUNTSTATICSTIC GameHallPacketID = 2259
GameHallPacketID_PACKET_SC_THRIDACCOUNTSTATICSTIC GameHallPacketID = 2260
GameHallPacketID_PACKET_CS_THRIDACCOUNTTRANSFER GameHallPacketID = 2261
GameHallPacketID_PACKET_SC_THRIDACCOUNTTRANSFER GameHallPacketID = 2262
GameHallPacketID_PACKET_CS_ENTERTHRIDGAME GameHallPacketID = 2263
GameHallPacketID_PACKET_SC_ENTERTHRIDGAME GameHallPacketID = 2264
GameHallPacketID_PACKET_CS_LEAVETHRIDGAME GameHallPacketID = 2265
GameHallPacketID_PACKET_SC_LEAVETHRIDGAME GameHallPacketID = 2266
GameHallPacketID_PACKET_CS_THRIDGAMELIST GameHallPacketID = 2267
GameHallPacketID_PACKET_SC_THRIDGAMELIST GameHallPacketID = 2268
GameHallPacketID_PACKET_CS_THRIDGAMEBALANCEUPDATE GameHallPacketID = 2269
GameHallPacketID_PACKET_SC_THRIDGAMEBALANCEUPDATE GameHallPacketID = 2270
GameHallPacketID_PACKET_SC_THRIDGAMEBALANCEUPDATESTATE GameHallPacketID = 2271
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_GETPRIVATEROOMHISTORY GameHallPacketID = 2276
GameHallPacketID_PACKET_SC_GETPRIVATEROOMHISTORY GameHallPacketID = 2277
GameHallPacketID_PACKET_CS_DESTROYPRIVATEROOM GameHallPacketID = 2278
GameHallPacketID_PACKET_SC_DESTROYPRIVATEROOM GameHallPacketID = 2279
GameHallPacketID_PACKET_CS_QUERYROOMINFO GameHallPacketID = 2280
GameHallPacketID_PACKET_SC_QUERYROOMINFO GameHallPacketID = 2281
GameHallPacketID_PACKET_SC_GAMESUBLIST GameHallPacketID = 2283
GameHallPacketID_PACKET_CS_GAMEOBSERVE GameHallPacketID = 2284
GameHallPacketID_PACKET_SC_GAMESTATE GameHallPacketID = 2285
GameHallPacketID_PACKET_SC_SYNCGAMEFREE GameHallPacketID = 2286
GameHallPacketID_PACKET_SC_LOTTERYSYNC GameHallPacketID = 2287
GameHallPacketID_PACKET_CS_LOTTERYLOG GameHallPacketID = 2288
GameHallPacketID_PACKET_SC_LOTTERYLOG GameHallPacketID = 2289
GameHallPacketID_PACKET_SC_LOTTERYBILL GameHallPacketID = 2290
GameHallPacketID_PACKET_CS_UPLOADLOC GameHallPacketID = 2291
GameHallPacketID_PACKET_SC_UPLOADLOC GameHallPacketID = 2292
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_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",
2200: "PACKET_CS_JOINGAME",
2201: "PACKET_SC_JOINGAME",
2202: "PACKET_CS_CREATEROOM",
2203: "PACKET_SC_CREATEROOM",
2204: "PACKET_CS_ENTERROOM",
2205: "PACKET_SC_ENTERROOM",
2206: "PACKET_CS_RETURNROOM",
2207: "PACKET_SC_RETURNROOM",
2208: "PACKET_CS_AUDIENCE_ENTERROOM",
2209: "PACKET_CS_ENTERGAME",
2210: "PACKET_SC_ENTERGAME",
2211: "PACKET_CS_QUITGAME",
2212: "PACKET_SC_QUITGAME",
2213: "PACKET_SC_CARDGAINWAY",
2214: "PACKET_CS_TASKLIST",
2215: "PACKET_SC_TASKLIST",
2216: "PACKET_SC_TASKCHG",
2217: "PACKET_SC_TACKCOMPLETE",
2218: "PACKET_SC_TASKDEL",
2219: "PACKET_CS_TACKDRAWPRIZE",
2220: "PACKET_SC_TACKDRAWPRIZE",
2223: "PACKET_CS_GETAGENTGAMEREC",
2224: "PACKET_SC_GETAGENTGAMEREC",
2225: "PACKET_CS_DELAGENTGAMEREC",
2226: "PACKET_CS_SHOPBUY",
2227: "PACKET_SC_SHOPBUY",
2228: "PACKET_SC_LIMITLIST",
2229: "PACKET_CS_GETLATELYGAMEIDS",
2230: "PACKET_SC_GETLATELYGAMEIDS",
2231: "PACKET_CS_GETGAMECONFIG",
2232: "PACKET_SC_GETGAMECONFIG",
2233: "PACKET_SC_CHANGEGAMESTATUS",
2240: "PACKET_CS_ENTERHALL",
2241: "PACKET_SC_ENTERHALL",
2242: "PACKET_CS_LEAVEHALL",
2243: "PACKET_SC_LEAVEHALL",
2244: "PACKET_CS_HALLROOMLIST",
2245: "PACKET_SC_HALLROOMLIST",
2246: "PACKET_SC_ROOMPLAYERENTER",
2247: "PACKET_SC_ROOMPLAYERLEAVE",
2248: "PACKET_SC_ROOMSTATECHANG",
2249: "PACKET_SC_HALLPLAYERNUM",
2250: "PACKET_SC_BULLETIONINFO",
2251: "PACKET_CS_BULLETIONINFO",
2252: "PACKET_CS_CUSTOMERINFOLIST",
2253: "PACKET_SC_CUSTOMERINFOLIST",
2254: "PACKET_CS_ENTERDGGAME",
2255: "PACKET_SC_ENTERDGGAME",
2256: "PACKET_CS_LEAVEDGGAME",
2257: "PACKET_SC_LEAVEDGGAME",
2258: "PACKET_SC_PLAYERRECHARGEANSWER",
2259: "PACKET_CS_THRIDACCOUNTSTATICSTIC",
2260: "PACKET_SC_THRIDACCOUNTSTATICSTIC",
2261: "PACKET_CS_THRIDACCOUNTTRANSFER",
2262: "PACKET_SC_THRIDACCOUNTTRANSFER",
2263: "PACKET_CS_ENTERTHRIDGAME",
2264: "PACKET_SC_ENTERTHRIDGAME",
2265: "PACKET_CS_LEAVETHRIDGAME",
2266: "PACKET_SC_LEAVETHRIDGAME",
2267: "PACKET_CS_THRIDGAMELIST",
2268: "PACKET_SC_THRIDGAMELIST",
2269: "PACKET_CS_THRIDGAMEBALANCEUPDATE",
2270: "PACKET_SC_THRIDGAMEBALANCEUPDATE",
2271: "PACKET_SC_THRIDGAMEBALANCEUPDATESTATE",
2272: "PACKET_CS_CREATEPRIVATEROOM",
2273: "PACKET_SC_CREATEPRIVATEROOM",
2274: "PACKET_CS_GETPRIVATEROOMLIST",
2275: "PACKET_SC_GETPRIVATEROOMLIST",
2276: "PACKET_CS_GETPRIVATEROOMHISTORY",
2277: "PACKET_SC_GETPRIVATEROOMHISTORY",
2278: "PACKET_CS_DESTROYPRIVATEROOM",
2279: "PACKET_SC_DESTROYPRIVATEROOM",
2280: "PACKET_CS_QUERYROOMINFO",
2281: "PACKET_SC_QUERYROOMINFO",
2283: "PACKET_SC_GAMESUBLIST",
2284: "PACKET_CS_GAMEOBSERVE",
2285: "PACKET_SC_GAMESTATE",
2286: "PACKET_SC_SYNCGAMEFREE",
2287: "PACKET_SC_LOTTERYSYNC",
2288: "PACKET_CS_LOTTERYLOG",
2289: "PACKET_SC_LOTTERYLOG",
2290: "PACKET_SC_LOTTERYBILL",
2291: "PACKET_CS_UPLOADLOC",
2292: "PACKET_SC_UPLOADLOC",
2293: "PACKET_CS_AUDIENCESIT",
2294: "PACKET_SC_AUDIENCESIT",
2295: "PACKET_CS_COMNOTICE",
2296: "PACKET_SC_COMNOTICE",
2297: "PACKET_SC_CHANGEENTRYSWITCH",
2298: "PACKET_SC_NoticeChange",
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_JOINGAME": 2200,
"PACKET_SC_JOINGAME": 2201,
"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_AUDIENCE_ENTERROOM": 2208,
"PACKET_CS_ENTERGAME": 2209,
"PACKET_SC_ENTERGAME": 2210,
"PACKET_CS_QUITGAME": 2211,
"PACKET_SC_QUITGAME": 2212,
"PACKET_SC_CARDGAINWAY": 2213,
"PACKET_CS_TASKLIST": 2214,
"PACKET_SC_TASKLIST": 2215,
"PACKET_SC_TASKCHG": 2216,
"PACKET_SC_TACKCOMPLETE": 2217,
"PACKET_SC_TASKDEL": 2218,
"PACKET_CS_TACKDRAWPRIZE": 2219,
"PACKET_SC_TACKDRAWPRIZE": 2220,
"PACKET_CS_GETAGENTGAMEREC": 2223,
"PACKET_SC_GETAGENTGAMEREC": 2224,
"PACKET_CS_DELAGENTGAMEREC": 2225,
"PACKET_CS_SHOPBUY": 2226,
"PACKET_SC_SHOPBUY": 2227,
"PACKET_SC_LIMITLIST": 2228,
"PACKET_CS_GETLATELYGAMEIDS": 2229,
"PACKET_SC_GETLATELYGAMEIDS": 2230,
"PACKET_CS_GETGAMECONFIG": 2231,
"PACKET_SC_GETGAMECONFIG": 2232,
"PACKET_SC_CHANGEGAMESTATUS": 2233,
"PACKET_CS_ENTERHALL": 2240,
"PACKET_SC_ENTERHALL": 2241,
"PACKET_CS_LEAVEHALL": 2242,
"PACKET_SC_LEAVEHALL": 2243,
"PACKET_CS_HALLROOMLIST": 2244,
"PACKET_SC_HALLROOMLIST": 2245,
"PACKET_SC_ROOMPLAYERENTER": 2246,
"PACKET_SC_ROOMPLAYERLEAVE": 2247,
"PACKET_SC_ROOMSTATECHANG": 2248,
"PACKET_SC_HALLPLAYERNUM": 2249,
"PACKET_SC_BULLETIONINFO": 2250,
"PACKET_CS_BULLETIONINFO": 2251,
"PACKET_CS_CUSTOMERINFOLIST": 2252,
"PACKET_SC_CUSTOMERINFOLIST": 2253,
"PACKET_CS_ENTERDGGAME": 2254,
"PACKET_SC_ENTERDGGAME": 2255,
"PACKET_CS_LEAVEDGGAME": 2256,
"PACKET_SC_LEAVEDGGAME": 2257,
"PACKET_SC_PLAYERRECHARGEANSWER": 2258,
"PACKET_CS_THRIDACCOUNTSTATICSTIC": 2259,
"PACKET_SC_THRIDACCOUNTSTATICSTIC": 2260,
"PACKET_CS_THRIDACCOUNTTRANSFER": 2261,
"PACKET_SC_THRIDACCOUNTTRANSFER": 2262,
"PACKET_CS_ENTERTHRIDGAME": 2263,
"PACKET_SC_ENTERTHRIDGAME": 2264,
"PACKET_CS_LEAVETHRIDGAME": 2265,
"PACKET_SC_LEAVETHRIDGAME": 2266,
"PACKET_CS_THRIDGAMELIST": 2267,
"PACKET_SC_THRIDGAMELIST": 2268,
"PACKET_CS_THRIDGAMEBALANCEUPDATE": 2269,
"PACKET_SC_THRIDGAMEBALANCEUPDATE": 2270,
"PACKET_SC_THRIDGAMEBALANCEUPDATESTATE": 2271,
"PACKET_CS_CREATEPRIVATEROOM": 2272,
"PACKET_SC_CREATEPRIVATEROOM": 2273,
"PACKET_CS_GETPRIVATEROOMLIST": 2274,
"PACKET_SC_GETPRIVATEROOMLIST": 2275,
"PACKET_CS_GETPRIVATEROOMHISTORY": 2276,
"PACKET_SC_GETPRIVATEROOMHISTORY": 2277,
"PACKET_CS_DESTROYPRIVATEROOM": 2278,
"PACKET_SC_DESTROYPRIVATEROOM": 2279,
"PACKET_CS_QUERYROOMINFO": 2280,
"PACKET_SC_QUERYROOMINFO": 2281,
"PACKET_SC_GAMESUBLIST": 2283,
"PACKET_CS_GAMEOBSERVE": 2284,
"PACKET_SC_GAMESTATE": 2285,
"PACKET_SC_SYNCGAMEFREE": 2286,
"PACKET_SC_LOTTERYSYNC": 2287,
"PACKET_CS_LOTTERYLOG": 2288,
"PACKET_SC_LOTTERYLOG": 2289,
"PACKET_SC_LOTTERYBILL": 2290,
"PACKET_CS_UPLOADLOC": 2291,
"PACKET_SC_UPLOADLOC": 2292,
"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_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}
}
//进入游戏大厅
//PACKET_CS_ENTERHALL
type CSEnterHall struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HallId int32 `protobuf:"varint,1,opt,name=HallId,proto3" json:"HallId,omitempty"` //厅id(详见:DB_GameFree.xlxs中的id)
}
func (x *CSEnterHall) Reset() {
*x = CSEnterHall{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSEnterHall) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSEnterHall) ProtoMessage() {}
func (x *CSEnterHall) 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 CSEnterHall.ProtoReflect.Descriptor instead.
func (*CSEnterHall) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{0}
}
func (x *CSEnterHall) GetHallId() int32 {
if x != nil {
return x.HallId
}
return 0
}
//PACKET_SC_ENTERHALL
type SCEnterHall struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HallId int32 `protobuf:"varint,1,opt,name=HallId,proto3" json:"HallId,omitempty"` //厅id(详见:DB_GameFree.xlxs中的id)
OpRetCode OpResultCode_Game `protobuf:"varint,2,opt,name=OpRetCode,proto3,enum=gamehall.OpResultCode_Game" json:"OpRetCode,omitempty"` //结果
}
func (x *SCEnterHall) Reset() {
*x = SCEnterHall{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCEnterHall) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCEnterHall) ProtoMessage() {}
func (x *SCEnterHall) 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 SCEnterHall.ProtoReflect.Descriptor instead.
func (*SCEnterHall) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{1}
}
func (x *SCEnterHall) GetHallId() int32 {
if x != nil {
return x.HallId
}
return 0
}
func (x *SCEnterHall) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
//离开游戏大厅
//PACKET_CS_LEAVEHALL
type CSLeaveHall struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CSLeaveHall) Reset() {
*x = CSLeaveHall{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSLeaveHall) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSLeaveHall) ProtoMessage() {}
func (x *CSLeaveHall) 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 CSLeaveHall.ProtoReflect.Descriptor instead.
func (*CSLeaveHall) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{2}
}
//PACKET_SC_LEAVEHALL
type SCLeaveHall struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HallId int32 `protobuf:"varint,1,opt,name=HallId,proto3" json:"HallId,omitempty"`
}
func (x *SCLeaveHall) Reset() {
*x = SCLeaveHall{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCLeaveHall) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCLeaveHall) ProtoMessage() {}
func (x *SCLeaveHall) 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 SCLeaveHall.ProtoReflect.Descriptor instead.
func (*SCLeaveHall) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{3}
}
func (x *SCLeaveHall) GetHallId() int32 {
if x != nil {
return x.HallId
}
return 0
}
//房间内玩家信息
type RoomPlayerInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"` //数字账号
Head int32 `protobuf:"varint,2,opt,name=Head,proto3" json:"Head,omitempty"` //头像
Sex int32 `protobuf:"varint,3,opt,name=Sex,proto3" json:"Sex,omitempty"` //性别
Name string `protobuf:"bytes,4,opt,name=Name,proto3" json:"Name,omitempty"` //名字
Pos int32 `protobuf:"varint,5,opt,name=Pos,proto3" json:"Pos,omitempty"` //位置
Flag int32 `protobuf:"varint,6,opt,name=Flag,proto3" json:"Flag,omitempty"` //状态
HeadOutLine int32 `protobuf:"varint,7,opt,name=HeadOutLine,proto3" json:"HeadOutLine,omitempty"` //头像框
VIP int32 `protobuf:"varint,8,opt,name=VIP,proto3" json:"VIP,omitempty"`
}
func (x *RoomPlayerInfo) Reset() {
*x = RoomPlayerInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RoomPlayerInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RoomPlayerInfo) ProtoMessage() {}
func (x *RoomPlayerInfo) 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 RoomPlayerInfo.ProtoReflect.Descriptor instead.
func (*RoomPlayerInfo) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{4}
}
func (x *RoomPlayerInfo) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *RoomPlayerInfo) GetHead() int32 {
if x != nil {
return x.Head
}
return 0
}
func (x *RoomPlayerInfo) GetSex() int32 {
if x != nil {
return x.Sex
}
return 0
}
func (x *RoomPlayerInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *RoomPlayerInfo) GetPos() int32 {
if x != nil {
return x.Pos
}
return 0
}
func (x *RoomPlayerInfo) GetFlag() int32 {
if x != nil {
return x.Flag
}
return 0
}
func (x *RoomPlayerInfo) GetHeadOutLine() int32 {
if x != nil {
return x.HeadOutLine
}
return 0
}
func (x *RoomPlayerInfo) GetVIP() int32 {
if x != nil {
return x.VIP
}
return 0
}
//房间信息
type RoomInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoomId int32 `protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"` //房号
Starting bool `protobuf:"varint,7,opt,name=Starting,proto3" json:"Starting,omitempty"` //牌局是否开始
Players []*RoomPlayerInfo `protobuf:"bytes,5,rep,name=Players,proto3" json:"Players,omitempty"`
}
func (x *RoomInfo) Reset() {
*x = RoomInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RoomInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RoomInfo) ProtoMessage() {}
func (x *RoomInfo) 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 RoomInfo.ProtoReflect.Descriptor instead.
func (*RoomInfo) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{5}
}
func (x *RoomInfo) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *RoomInfo) GetStarting() bool {
if x != nil {
return x.Starting
}
return false
}
func (x *RoomInfo) GetPlayers() []*RoomPlayerInfo {
if x != nil {
return x.Players
}
return nil
}
//PACKET_CS_HALLROOMLIST
type CSHallRoomList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HallId int32 `protobuf:"varint,1,opt,name=HallId,proto3" json:"HallId,omitempty"` //厅id(详见:DB_GameFree.xlxs中的id)
}
func (x *CSHallRoomList) Reset() {
*x = CSHallRoomList{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSHallRoomList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSHallRoomList) ProtoMessage() {}
func (x *CSHallRoomList) 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 CSHallRoomList.ProtoReflect.Descriptor instead.
func (*CSHallRoomList) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{6}
}
func (x *CSHallRoomList) GetHallId() int32 {
if x != nil {
return x.HallId
}
return 0
}
//大厅人数
type HallInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SceneType int32 `protobuf:"varint,1,opt,name=SceneType,proto3" json:"SceneType,omitempty"` //场
PlayerNum int32 `protobuf:"varint,2,opt,name=PlayerNum,proto3" json:"PlayerNum,omitempty"` //人数
}
func (x *HallInfo) Reset() {
*x = HallInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HallInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HallInfo) ProtoMessage() {}
func (x *HallInfo) 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 HallInfo.ProtoReflect.Descriptor instead.
func (*HallInfo) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{7}
}
func (x *HallInfo) GetSceneType() int32 {
if x != nil {
return x.SceneType
}
return 0
}
func (x *HallInfo) GetPlayerNum() int32 {
if x != nil {
return x.PlayerNum
}
return 0
}
//PACKET_SC_HALLPLAYERNUM
type HallPlayerNum struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HallData []*HallInfo `protobuf:"bytes,1,rep,name=HallData,proto3" json:"HallData,omitempty"` //大厅人数
}
func (x *HallPlayerNum) Reset() {
*x = HallPlayerNum{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HallPlayerNum) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HallPlayerNum) ProtoMessage() {}
func (x *HallPlayerNum) 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 HallPlayerNum.ProtoReflect.Descriptor instead.
func (*HallPlayerNum) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{8}
}
func (x *HallPlayerNum) GetHallData() []*HallInfo {
if x != nil {
return x.HallData
}
return nil
}
//PACKET_SC_HALLROOMLIST
type SCHallRoomList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HallId int32 `protobuf:"varint,1,opt,name=HallId,proto3" json:"HallId,omitempty"` //厅id
GameId int32 `protobuf:"varint,2,opt,name=GameId,proto3" json:"GameId,omitempty"` //游戏id
GameMode int32 `protobuf:"varint,3,opt,name=GameMode,proto3" json:"GameMode,omitempty"` //游戏模式
IsAdd bool `protobuf:"varint,4,opt,name=IsAdd,proto3" json:"IsAdd,omitempty"` //是否新增
Params []int32 `protobuf:"varint,5,rep,packed,name=Params,proto3" json:"Params,omitempty"` //游戏规则参数
Rooms []*RoomInfo `protobuf:"bytes,6,rep,name=Rooms,proto3" json:"Rooms,omitempty"` //房间列表
HallData []*HallInfo `protobuf:"bytes,7,rep,name=HallData,proto3" json:"HallData,omitempty"` //大厅人数
}
func (x *SCHallRoomList) Reset() {
*x = SCHallRoomList{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCHallRoomList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCHallRoomList) ProtoMessage() {}
func (x *SCHallRoomList) 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 SCHallRoomList.ProtoReflect.Descriptor instead.
func (*SCHallRoomList) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{9}
}
func (x *SCHallRoomList) GetHallId() int32 {
if x != nil {
return x.HallId
}
return 0
}
func (x *SCHallRoomList) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *SCHallRoomList) GetGameMode() int32 {
if x != nil {
return x.GameMode
}
return 0
}
func (x *SCHallRoomList) GetIsAdd() bool {
if x != nil {
return x.IsAdd
}
return false
}
func (x *SCHallRoomList) GetParams() []int32 {
if x != nil {
return x.Params
}
return nil
}
func (x *SCHallRoomList) GetRooms() []*RoomInfo {
if x != nil {
return x.Rooms
}
return nil
}
func (x *SCHallRoomList) GetHallData() []*HallInfo {
if x != nil {
return x.HallData
}
return nil
}
//PACKET_SC_ROOMPLAYERENTER
type SCRoomPlayerEnter struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoomId int32 `protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"`
Player *RoomPlayerInfo `protobuf:"bytes,2,opt,name=Player,proto3" json:"Player,omitempty"`
}
func (x *SCRoomPlayerEnter) Reset() {
*x = SCRoomPlayerEnter{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCRoomPlayerEnter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCRoomPlayerEnter) ProtoMessage() {}
func (x *SCRoomPlayerEnter) 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 SCRoomPlayerEnter.ProtoReflect.Descriptor instead.
func (*SCRoomPlayerEnter) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{10}
}
func (x *SCRoomPlayerEnter) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *SCRoomPlayerEnter) GetPlayer() *RoomPlayerInfo {
if x != nil {
return x.Player
}
return nil
}
//PACKET_SC_ROOMPLAYERLEAVE
type SCRoomPlayerLeave struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoomId int32 `protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"`
Pos int32 `protobuf:"varint,2,opt,name=Pos,proto3" json:"Pos,omitempty"`
}
func (x *SCRoomPlayerLeave) Reset() {
*x = SCRoomPlayerLeave{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCRoomPlayerLeave) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCRoomPlayerLeave) ProtoMessage() {}
func (x *SCRoomPlayerLeave) 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 SCRoomPlayerLeave.ProtoReflect.Descriptor instead.
func (*SCRoomPlayerLeave) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{11}
}
func (x *SCRoomPlayerLeave) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *SCRoomPlayerLeave) GetPos() int32 {
if x != nil {
return x.Pos
}
return 0
}
//PACKET_SC_ROOMSTATECHANG
type SCRoomStateChange struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoomId int32 `protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"`
Starting bool `protobuf:"varint,2,opt,name=Starting,proto3" json:"Starting,omitempty"`
State int32 `protobuf:"varint,3,opt,name=State,proto3" json:"State,omitempty"`
}
func (x *SCRoomStateChange) Reset() {
*x = SCRoomStateChange{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCRoomStateChange) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCRoomStateChange) ProtoMessage() {}
func (x *SCRoomStateChange) 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 SCRoomStateChange.ProtoReflect.Descriptor instead.
func (*SCRoomStateChange) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{12}
}
func (x *SCRoomStateChange) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *SCRoomStateChange) GetStarting() bool {
if x != nil {
return x.Starting
}
return false
}
func (x *SCRoomStateChange) GetState() int32 {
if x != nil {
return x.State
}
return 0
}
//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[13]
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[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 CSCreateRoom.ProtoReflect.Descriptor instead.
func (*CSCreateRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{13}
}
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[14]
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[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 SCCreateRoom.ProtoReflect.Descriptor instead.
func (*SCCreateRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{14}
}
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_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[15]
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[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 CSDestroyRoom.ProtoReflect.Descriptor instead.
func (*CSDestroyRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{15}
}
//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[16]
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[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 SCDestroyRoom.ProtoReflect.Descriptor instead.
func (*SCDestroyRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{16}
}
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_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"` //游戏编号
}
func (x *CSEnterRoom) Reset() {
*x = CSEnterRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[17]
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[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 CSEnterRoom.ProtoReflect.Descriptor instead.
func (*CSEnterRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{17}
}
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
}
//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"`
}
func (x *SCEnterRoom) Reset() {
*x = SCEnterRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[18]
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[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 SCEnterRoom.ProtoReflect.Descriptor instead.
func (*SCEnterRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{18}
}
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
}
//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[19]
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[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 CSLeaveRoom.ProtoReflect.Descriptor instead.
func (*CSLeaveRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{19}
}
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[20]
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[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 SCLeaveRoom.ProtoReflect.Descriptor instead.
func (*SCLeaveRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{20}
}
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_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[21]
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[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 CSReturnRoom.ProtoReflect.Descriptor instead.
func (*CSReturnRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{21}
}
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[22]
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[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 SCReturnRoom.ProtoReflect.Descriptor instead.
func (*SCReturnRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{22}
}
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_GETGAMEREC
type CSGetGameRec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ver int32 `protobuf:"varint,1,opt,name=Ver,proto3" json:"Ver,omitempty"`
GameId int32 `protobuf:"varint,2,opt,name=GameId,proto3" json:"GameId,omitempty"`
}
func (x *CSGetGameRec) Reset() {
*x = CSGetGameRec{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSGetGameRec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSGetGameRec) ProtoMessage() {}
func (x *CSGetGameRec) 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 CSGetGameRec.ProtoReflect.Descriptor instead.
func (*CSGetGameRec) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{23}
}
func (x *CSGetGameRec) GetVer() int32 {
if x != nil {
return x.Ver
}
return 0
}
func (x *CSGetGameRec) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
type PlayerGameRec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"`
Head int32 `protobuf:"varint,3,opt,name=Head,proto3" json:"Head,omitempty"`
Coin int64 `protobuf:"varint,4,opt,name=Coin,proto3" json:"Coin,omitempty"`
Pos int32 `protobuf:"varint,5,opt,name=Pos,proto3" json:"Pos,omitempty"`
OtherParams []int32 `protobuf:"varint,6,rep,packed,name=OtherParams,proto3" json:"OtherParams,omitempty"`
}
func (x *PlayerGameRec) Reset() {
*x = PlayerGameRec{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PlayerGameRec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlayerGameRec) ProtoMessage() {}
func (x *PlayerGameRec) 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 PlayerGameRec.ProtoReflect.Descriptor instead.
func (*PlayerGameRec) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{24}
}
func (x *PlayerGameRec) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *PlayerGameRec) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *PlayerGameRec) GetHead() int32 {
if x != nil {
return x.Head
}
return 0
}
func (x *PlayerGameRec) GetCoin() int64 {
if x != nil {
return x.Coin
}
return 0
}
func (x *PlayerGameRec) GetPos() int32 {
if x != nil {
return x.Pos
}
return 0
}
func (x *PlayerGameRec) GetOtherParams() []int32 {
if x != nil {
return x.OtherParams
}
return nil
}
type GameRec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RecId int32 `protobuf:"varint,1,opt,name=RecId,proto3" json:"RecId,omitempty"`
Datas []*PlayerGameRec `protobuf:"bytes,2,rep,name=Datas,proto3" json:"Datas,omitempty"`
Ts int64 `protobuf:"varint,3,opt,name=Ts,proto3" json:"Ts,omitempty"`
RoomId int32 `protobuf:"varint,4,opt,name=RoomId,proto3" json:"RoomId,omitempty"`
GameMode int32 `protobuf:"varint,5,opt,name=GameMode,proto3" json:"GameMode,omitempty"`
SceneType int32 `protobuf:"varint,6,opt,name=SceneType,proto3" json:"SceneType,omitempty"`
GameId int32 `protobuf:"varint,7,opt,name=GameId,proto3" json:"GameId,omitempty"`
TotalOfGames int32 `protobuf:"varint,8,opt,name=TotalOfGames,proto3" json:"TotalOfGames,omitempty"`
NumOfGames int32 `protobuf:"varint,9,opt,name=NumOfGames,proto3" json:"NumOfGames,omitempty"`
RoomFeeMode int32 `protobuf:"varint,10,opt,name=RoomFeeMode,proto3" json:"RoomFeeMode,omitempty"`
RoomCardCnt int32 `protobuf:"varint,11,opt,name=RoomCardCnt,proto3" json:"RoomCardCnt,omitempty"`
Params []int32 `protobuf:"varint,12,rep,packed,name=Params,proto3" json:"Params,omitempty"`
GameTime int32 `protobuf:"varint,13,opt,name=GameTime,proto3" json:"GameTime,omitempty"`
}
func (x *GameRec) Reset() {
*x = GameRec{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GameRec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameRec) ProtoMessage() {}
func (x *GameRec) 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 GameRec.ProtoReflect.Descriptor instead.
func (*GameRec) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{25}
}
func (x *GameRec) GetRecId() int32 {
if x != nil {
return x.RecId
}
return 0
}
func (x *GameRec) GetDatas() []*PlayerGameRec {
if x != nil {
return x.Datas
}
return nil
}
func (x *GameRec) GetTs() int64 {
if x != nil {
return x.Ts
}
return 0
}
func (x *GameRec) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *GameRec) GetGameMode() int32 {
if x != nil {
return x.GameMode
}
return 0
}
func (x *GameRec) GetSceneType() int32 {
if x != nil {
return x.SceneType
}
return 0
}
func (x *GameRec) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *GameRec) GetTotalOfGames() int32 {
if x != nil {
return x.TotalOfGames
}
return 0
}
func (x *GameRec) GetNumOfGames() int32 {
if x != nil {
return x.NumOfGames
}
return 0
}
func (x *GameRec) GetRoomFeeMode() int32 {
if x != nil {
return x.RoomFeeMode
}
return 0
}
func (x *GameRec) GetRoomCardCnt() int32 {
if x != nil {
return x.RoomCardCnt
}
return 0
}
func (x *GameRec) GetParams() []int32 {
if x != nil {
return x.Params
}
return nil
}
func (x *GameRec) GetGameTime() int32 {
if x != nil {
return x.GameTime
}
return 0
}
//PACKET_SC_GETGAMEREC
type SCGetGameRec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Recs []*GameRec `protobuf:"bytes,1,rep,name=Recs,proto3" json:"Recs,omitempty"`
Ver int32 `protobuf:"varint,2,opt,name=Ver,proto3" json:"Ver,omitempty"`
GameId int32 `protobuf:"varint,3,opt,name=GameId,proto3" json:"GameId,omitempty"`
}
func (x *SCGetGameRec) Reset() {
*x = SCGetGameRec{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCGetGameRec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCGetGameRec) ProtoMessage() {}
func (x *SCGetGameRec) 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 SCGetGameRec.ProtoReflect.Descriptor instead.
func (*SCGetGameRec) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{26}
}
func (x *SCGetGameRec) GetRecs() []*GameRec {
if x != nil {
return x.Recs
}
return nil
}
func (x *SCGetGameRec) GetVer() int32 {
if x != nil {
return x.Ver
}
return 0
}
func (x *SCGetGameRec) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
//PACKET_CS_SHARESUC
type CSShareSuc struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ShareType int32 `protobuf:"varint,1,opt,name=ShareType,proto3" json:"ShareType,omitempty"` //分享类型 1:微信好友 2:朋友圈
}
func (x *CSShareSuc) Reset() {
*x = CSShareSuc{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSShareSuc) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSShareSuc) ProtoMessage() {}
func (x *CSShareSuc) 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 CSShareSuc.ProtoReflect.Descriptor instead.
func (*CSShareSuc) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{27}
}
func (x *CSShareSuc) GetShareType() int32 {
if x != nil {
return x.ShareType
}
return 0
}
//PACKET_SC_SHARESUC
type SCShareSuc 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 *SCShareSuc) Reset() {
*x = SCShareSuc{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCShareSuc) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCShareSuc) ProtoMessage() {}
func (x *SCShareSuc) 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 SCShareSuc.ProtoReflect.Descriptor instead.
func (*SCShareSuc) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{28}
}
func (x *SCShareSuc) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
//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[29]
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[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 CSForceStart.ProtoReflect.Descriptor instead.
func (*CSForceStart) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{29}
}
//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[30]
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[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 SCForceStart.ProtoReflect.Descriptor instead.
func (*SCForceStart) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{30}
}
func (x *SCForceStart) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
//PACKET_CS_INVITEROBOT
type CSInviteRobot struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameId int32 `protobuf:"varint,1,opt,name=GameId,proto3" json:"GameId,omitempty"`
IsAgent bool `protobuf:"varint,2,opt,name=IsAgent,proto3" json:"IsAgent,omitempty"` //0:自己玩 1:机器人代替我
}
func (x *CSInviteRobot) Reset() {
*x = CSInviteRobot{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSInviteRobot) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSInviteRobot) ProtoMessage() {}
func (x *CSInviteRobot) 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 CSInviteRobot.ProtoReflect.Descriptor instead.
func (*CSInviteRobot) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{31}
}
func (x *CSInviteRobot) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *CSInviteRobot) GetIsAgent() bool {
if x != nil {
return x.IsAgent
}
return false
}
//玩家设置标记
//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[32]
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[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 CSPlayerSwithFlag.ProtoReflect.Descriptor instead.
func (*CSPlayerSwithFlag) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{32}
}
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_CS_SHOPBUY
type CSShopBuy struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` //商品ID
Count int32 `protobuf:"varint,2,opt,name=Count,proto3" json:"Count,omitempty"` //数量
}
func (x *CSShopBuy) Reset() {
*x = CSShopBuy{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSShopBuy) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSShopBuy) ProtoMessage() {}
func (x *CSShopBuy) 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 CSShopBuy.ProtoReflect.Descriptor instead.
func (*CSShopBuy) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{33}
}
func (x *CSShopBuy) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *CSShopBuy) GetCount() int32 {
if x != nil {
return x.Count
}
return 0
}
//PACKET_SC_SHOPBUY
type SCShopBuy struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
OpRetCode OpResultCode_Game `protobuf:"varint,2,opt,name=OpRetCode,proto3,enum=gamehall.OpResultCode_Game" json:"OpRetCode,omitempty"` //结果
CostType int32 `protobuf:"varint,3,opt,name=CostType,proto3" json:"CostType,omitempty"` //消耗类型
CostNum int32 `protobuf:"varint,4,opt,name=CostNum,proto3" json:"CostNum,omitempty"` //消耗数量
GainType int32 `protobuf:"varint,5,opt,name=GainType,proto3" json:"GainType,omitempty"` //获得类型
GainNum int32 `protobuf:"varint,6,opt,name=GainNum,proto3" json:"GainNum,omitempty"` //获得数量
}
func (x *SCShopBuy) Reset() {
*x = SCShopBuy{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCShopBuy) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCShopBuy) ProtoMessage() {}
func (x *SCShopBuy) 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 SCShopBuy.ProtoReflect.Descriptor instead.
func (*SCShopBuy) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{34}
}
func (x *SCShopBuy) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *SCShopBuy) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
func (x *SCShopBuy) GetCostType() int32 {
if x != nil {
return x.CostType
}
return 0
}
func (x *SCShopBuy) GetCostNum() int32 {
if x != nil {
return x.CostNum
}
return 0
}
func (x *SCShopBuy) GetGainType() int32 {
if x != nil {
return x.GainType
}
return 0
}
func (x *SCShopBuy) GetGainNum() int32 {
if x != nil {
return x.GainNum
}
return 0
}
//CS_JOINGAME
//请求的通知
type CSJoinGame struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MsgType int32 `protobuf:"varint,1,opt,name=MsgType,proto3" json:"MsgType,omitempty"` //0.请求信息1.确认信息
SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` //type=1发送为服务器下发的数据原数据发送
Pos int32 `protobuf:"varint,3,opt,name=Pos,proto3" json:"Pos,omitempty"` //type=0时发送为申请坐下的位置索引0开始
Agree bool `protobuf:"varint,4,opt,name=Agree,proto3" json:"Agree,omitempty"` //type=1时发送true为同意,false为拒绝
}
func (x *CSJoinGame) Reset() {
*x = CSJoinGame{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSJoinGame) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSJoinGame) ProtoMessage() {}
func (x *CSJoinGame) 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 CSJoinGame.ProtoReflect.Descriptor instead.
func (*CSJoinGame) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{35}
}
func (x *CSJoinGame) GetMsgType() int32 {
if x != nil {
return x.MsgType
}
return 0
}
func (x *CSJoinGame) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *CSJoinGame) GetPos() int32 {
if x != nil {
return x.Pos
}
return 0
}
func (x *CSJoinGame) GetAgree() bool {
if x != nil {
return x.Agree
}
return false
}
//SC_TJOINGAME
//请求的通知
type SCJoinGame struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MsgType int32 `protobuf:"varint,1,opt,name=MsgType,proto3" json:"MsgType,omitempty"` //0.请求信息1.确认信息
Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` //type=0为申请者的昵称和snid同步发送广播范围是房间内用户
SnId int32 `protobuf:"varint,3,opt,name=SnId,proto3" json:"SnId,omitempty"` //type=0申请者ID
OpRetCode OpResultCode_Game `protobuf:"varint,4,opt,name=OpRetCode,proto3,enum=gamehall.OpResultCode_Game" json:"OpRetCode,omitempty"` //type=1时为申请的结果为0成功其他的为错误代码 1 座位已满 2 观战人数已满
}
func (x *SCJoinGame) Reset() {
*x = SCJoinGame{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCJoinGame) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCJoinGame) ProtoMessage() {}
func (x *SCJoinGame) 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 SCJoinGame.ProtoReflect.Descriptor instead.
func (*SCJoinGame) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{36}
}
func (x *SCJoinGame) GetMsgType() int32 {
if x != nil {
return x.MsgType
}
return 0
}
func (x *SCJoinGame) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SCJoinGame) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *SCJoinGame) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
//PACKET_CS_ENTERDGGAME
type CSEnterDgGame struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LoginType int32 `protobuf:"varint,1,opt,name=LoginType,proto3" json:"LoginType,omitempty"` //0.试玩登录1.正常登录
DgGameId int32 `protobuf:"varint,2,opt,name=DgGameId,proto3" json:"DgGameId,omitempty"` //游戏ID
Domains string `protobuf:"bytes,3,opt,name=Domains,proto3" json:"Domains,omitempty"` //sdk
}
func (x *CSEnterDgGame) Reset() {
*x = CSEnterDgGame{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSEnterDgGame) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSEnterDgGame) ProtoMessage() {}
func (x *CSEnterDgGame) 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 CSEnterDgGame.ProtoReflect.Descriptor instead.
func (*CSEnterDgGame) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{37}
}
func (x *CSEnterDgGame) GetLoginType() int32 {
if x != nil {
return x.LoginType
}
return 0
}
func (x *CSEnterDgGame) GetDgGameId() int32 {
if x != nil {
return x.DgGameId
}
return 0
}
func (x *CSEnterDgGame) GetDomains() string {
if x != nil {
return x.Domains
}
return ""
}
type SCEnterDgGame 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"` //结果
LoginUrl string `protobuf:"bytes,2,opt,name=LoginUrl,proto3" json:"LoginUrl,omitempty"`
Token string `protobuf:"bytes,3,opt,name=Token,proto3" json:"Token,omitempty"`
DgGameId int32 `protobuf:"varint,4,opt,name=DgGameId,proto3" json:"DgGameId,omitempty"` //游戏ID
CodeId int32 `protobuf:"varint,5,opt,name=CodeId,proto3" json:"CodeId,omitempty"`
Domains string `protobuf:"bytes,6,opt,name=Domains,proto3" json:"Domains,omitempty"`
List []string `protobuf:"bytes,7,rep,name=List,proto3" json:"List,omitempty"`
}
func (x *SCEnterDgGame) Reset() {
*x = SCEnterDgGame{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCEnterDgGame) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCEnterDgGame) ProtoMessage() {}
func (x *SCEnterDgGame) 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 SCEnterDgGame.ProtoReflect.Descriptor instead.
func (*SCEnterDgGame) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{38}
}
func (x *SCEnterDgGame) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
func (x *SCEnterDgGame) GetLoginUrl() string {
if x != nil {
return x.LoginUrl
}
return ""
}
func (x *SCEnterDgGame) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
func (x *SCEnterDgGame) GetDgGameId() int32 {
if x != nil {
return x.DgGameId
}
return 0
}
func (x *SCEnterDgGame) GetCodeId() int32 {
if x != nil {
return x.CodeId
}
return 0
}
func (x *SCEnterDgGame) GetDomains() string {
if x != nil {
return x.Domains
}
return ""
}
func (x *SCEnterDgGame) GetList() []string {
if x != nil {
return x.List
}
return nil
}
//PACKET_CS_LEAVEDGGAME
type CSLeaveDgGame struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CSLeaveDgGame) Reset() {
*x = CSLeaveDgGame{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSLeaveDgGame) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSLeaveDgGame) ProtoMessage() {}
func (x *CSLeaveDgGame) 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 CSLeaveDgGame.ProtoReflect.Descriptor instead.
func (*CSLeaveDgGame) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{39}
}
type SCLeaveDgGame 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 *SCLeaveDgGame) Reset() {
*x = SCLeaveDgGame{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCLeaveDgGame) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCLeaveDgGame) ProtoMessage() {}
func (x *SCLeaveDgGame) 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 SCLeaveDgGame.ProtoReflect.Descriptor instead.
func (*SCLeaveDgGame) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{40}
}
func (x *SCLeaveDgGame) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
//第三方个人账户信息统计
type CSThridAccountStatistic struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ReqId int32 `protobuf:"varint,1,opt,name=ReqId,proto3" json:"ReqId,omitempty"` //-1返回全部平台信息0为系统平台
}
func (x *CSThridAccountStatistic) Reset() {
*x = CSThridAccountStatistic{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSThridAccountStatistic) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSThridAccountStatistic) ProtoMessage() {}
func (x *CSThridAccountStatistic) 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 CSThridAccountStatistic.ProtoReflect.Descriptor instead.
func (*CSThridAccountStatistic) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{41}
}
func (x *CSThridAccountStatistic) GetReqId() int32 {
if x != nil {
return x.ReqId
}
return 0
}
type ThridAccount struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ThridPlatformId int32 `protobuf:"varint,1,opt,name=ThridPlatformId,proto3" json:"ThridPlatformId,omitempty"`
Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"`
Status int32 `protobuf:"varint,3,opt,name=Status,proto3" json:"Status,omitempty"` //200正常403异常
Balance int64 `protobuf:"varint,4,opt,name=Balance,proto3" json:"Balance,omitempty"`
}
func (x *ThridAccount) Reset() {
*x = ThridAccount{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ThridAccount) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ThridAccount) ProtoMessage() {}
func (x *ThridAccount) 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 ThridAccount.ProtoReflect.Descriptor instead.
func (*ThridAccount) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{42}
}
func (x *ThridAccount) GetThridPlatformId() int32 {
if x != nil {
return x.ThridPlatformId
}
return 0
}
func (x *ThridAccount) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ThridAccount) GetStatus() int32 {
if x != nil {
return x.Status
}
return 0
}
func (x *ThridAccount) GetBalance() int64 {
if x != nil {
return x.Balance
}
return 0
}
type SCThridAccountStatistic struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ReqId int32 `protobuf:"varint,1,opt,name=ReqId,proto3" json:"ReqId,omitempty"`
Accounts []*ThridAccount `protobuf:"bytes,2,rep,name=Accounts,proto3" json:"Accounts,omitempty"`
}
func (x *SCThridAccountStatistic) Reset() {
*x = SCThridAccountStatistic{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCThridAccountStatistic) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCThridAccountStatistic) ProtoMessage() {}
func (x *SCThridAccountStatistic) 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 SCThridAccountStatistic.ProtoReflect.Descriptor instead.
func (*SCThridAccountStatistic) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{43}
}
func (x *SCThridAccountStatistic) GetReqId() int32 {
if x != nil {
return x.ReqId
}
return 0
}
func (x *SCThridAccountStatistic) GetAccounts() []*ThridAccount {
if x != nil {
return x.Accounts
}
return nil
}
//第三方个人账户余额转入转出
type CSThridAccountTransfer struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromId int32 `protobuf:"varint,1,opt,name=FromId,proto3" json:"FromId,omitempty"`
ToId int32 `protobuf:"varint,2,opt,name=ToId,proto3" json:"ToId,omitempty"`
Amount int64 `protobuf:"varint,3,opt,name=Amount,proto3" json:"Amount,omitempty"`
}
func (x *CSThridAccountTransfer) Reset() {
*x = CSThridAccountTransfer{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSThridAccountTransfer) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSThridAccountTransfer) ProtoMessage() {}
func (x *CSThridAccountTransfer) 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 CSThridAccountTransfer.ProtoReflect.Descriptor instead.
func (*CSThridAccountTransfer) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{44}
}
func (x *CSThridAccountTransfer) GetFromId() int32 {
if x != nil {
return x.FromId
}
return 0
}
func (x *CSThridAccountTransfer) GetToId() int32 {
if x != nil {
return x.ToId
}
return 0
}
func (x *CSThridAccountTransfer) GetAmount() int64 {
if x != nil {
return x.Amount
}
return 0
}
type SCThridAccountTransfer 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"` //结果
Accounts []*ThridAccount `protobuf:"bytes,2,rep,name=Accounts,proto3" json:"Accounts,omitempty"` //OpRetCode为0时两条数据 分别是from to
}
func (x *SCThridAccountTransfer) Reset() {
*x = SCThridAccountTransfer{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCThridAccountTransfer) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCThridAccountTransfer) ProtoMessage() {}
func (x *SCThridAccountTransfer) 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 SCThridAccountTransfer.ProtoReflect.Descriptor instead.
func (*SCThridAccountTransfer) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{45}
}
func (x *SCThridAccountTransfer) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
func (x *SCThridAccountTransfer) GetAccounts() []*ThridAccount {
if x != nil {
return x.Accounts
}
return nil
}
type CSEnterThridGame struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ThridGameId int32 `protobuf:"varint,2,opt,name=ThridGameId,proto3" json:"ThridGameId,omitempty"` //第三方游戏ID
}
func (x *CSEnterThridGame) Reset() {
*x = CSEnterThridGame{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSEnterThridGame) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSEnterThridGame) ProtoMessage() {}
func (x *CSEnterThridGame) 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 CSEnterThridGame.ProtoReflect.Descriptor instead.
func (*CSEnterThridGame) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{46}
}
func (x *CSEnterThridGame) GetThridGameId() int32 {
if x != nil {
return x.ThridGameId
}
return 0
}
type SCEnterThridGame 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"` //结果
EnterUrl string `protobuf:"bytes,2,opt,name=EnterUrl,proto3" json:"EnterUrl,omitempty"`
ScreenOrientationType int32 `protobuf:"varint,3,opt,name=ScreenOrientationType,proto3" json:"ScreenOrientationType,omitempty"`
ThridGameId int32 `protobuf:"varint,4,opt,name=ThridGameId,proto3" json:"ThridGameId,omitempty"` //第三方游戏ID
}
func (x *SCEnterThridGame) Reset() {
*x = SCEnterThridGame{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCEnterThridGame) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCEnterThridGame) ProtoMessage() {}
func (x *SCEnterThridGame) 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 SCEnterThridGame.ProtoReflect.Descriptor instead.
func (*SCEnterThridGame) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{47}
}
func (x *SCEnterThridGame) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
func (x *SCEnterThridGame) GetEnterUrl() string {
if x != nil {
return x.EnterUrl
}
return ""
}
func (x *SCEnterThridGame) GetScreenOrientationType() int32 {
if x != nil {
return x.ScreenOrientationType
}
return 0
}
func (x *SCEnterThridGame) GetThridGameId() int32 {
if x != nil {
return x.ThridGameId
}
return 0
}
type CSLeaveThridGame struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CSLeaveThridGame) Reset() {
*x = CSLeaveThridGame{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSLeaveThridGame) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSLeaveThridGame) ProtoMessage() {}
func (x *CSLeaveThridGame) 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 CSLeaveThridGame.ProtoReflect.Descriptor instead.
func (*CSLeaveThridGame) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{48}
}
type SCLeaveThridGame 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 *SCLeaveThridGame) Reset() {
*x = SCLeaveThridGame{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCLeaveThridGame) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCLeaveThridGame) ProtoMessage() {}
func (x *SCLeaveThridGame) 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 SCLeaveThridGame.ProtoReflect.Descriptor instead.
func (*SCLeaveThridGame) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{49}
}
func (x *SCLeaveThridGame) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
type CSThridGameList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CSThridGameList) Reset() {
*x = CSThridGameList{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSThridGameList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSThridGameList) ProtoMessage() {}
func (x *CSThridGameList) 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 CSThridGameList.ProtoReflect.Descriptor instead.
func (*CSThridGameList) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{50}
}
type ThridGameDatas struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ThridGameId string `protobuf:"bytes,1,opt,name=ThridGameId,proto3" json:"ThridGameId,omitempty"` //第三方游戏ID
ThridGameName string `protobuf:"bytes,2,opt,name=ThridGameName,proto3" json:"ThridGameName,omitempty"` //游戏名
}
func (x *ThridGameDatas) Reset() {
*x = ThridGameDatas{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ThridGameDatas) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ThridGameDatas) ProtoMessage() {}
func (x *ThridGameDatas) 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 ThridGameDatas.ProtoReflect.Descriptor instead.
func (*ThridGameDatas) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{51}
}
func (x *ThridGameDatas) GetThridGameId() string {
if x != nil {
return x.ThridGameId
}
return ""
}
func (x *ThridGameDatas) GetThridGameName() string {
if x != nil {
return x.ThridGameName
}
return ""
}
type ThridGamePlatforms struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ThridPlatformId int32 `protobuf:"varint,1,opt,name=ThridPlatformId,proto3" json:"ThridPlatformId,omitempty"`
ThridPlatformName string `protobuf:"bytes,2,opt,name=ThridPlatformName,proto3" json:"ThridPlatformName,omitempty"` //平台名
GameDatas []*ThridGameDatas `protobuf:"bytes,3,rep,name=GameDatas,proto3" json:"GameDatas,omitempty"`
}
func (x *ThridGamePlatforms) Reset() {
*x = ThridGamePlatforms{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ThridGamePlatforms) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ThridGamePlatforms) ProtoMessage() {}
func (x *ThridGamePlatforms) 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 ThridGamePlatforms.ProtoReflect.Descriptor instead.
func (*ThridGamePlatforms) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{52}
}
func (x *ThridGamePlatforms) GetThridPlatformId() int32 {
if x != nil {
return x.ThridPlatformId
}
return 0
}
func (x *ThridGamePlatforms) GetThridPlatformName() string {
if x != nil {
return x.ThridPlatformName
}
return ""
}
func (x *ThridGamePlatforms) GetGameDatas() []*ThridGameDatas {
if x != nil {
return x.GameDatas
}
return nil
}
type SCThridGameList 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"` //结果
GamePlatforms []*ThridGamePlatforms `protobuf:"bytes,2,rep,name=GamePlatforms,proto3" json:"GamePlatforms,omitempty"`
}
func (x *SCThridGameList) Reset() {
*x = SCThridGameList{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[53]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCThridGameList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCThridGameList) ProtoMessage() {}
func (x *SCThridGameList) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[53]
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 SCThridGameList.ProtoReflect.Descriptor instead.
func (*SCThridGameList) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{53}
}
func (x *SCThridGameList) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
func (x *SCThridGameList) GetGamePlatforms() []*ThridGamePlatforms {
if x != nil {
return x.GamePlatforms
}
return nil
}
type CSThridGameBalanceUpdate struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CSThridGameBalanceUpdate) Reset() {
*x = CSThridGameBalanceUpdate{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSThridGameBalanceUpdate) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSThridGameBalanceUpdate) ProtoMessage() {}
func (x *CSThridGameBalanceUpdate) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[54]
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 CSThridGameBalanceUpdate.ProtoReflect.Descriptor instead.
func (*CSThridGameBalanceUpdate) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{54}
}
type SCThridGameBalanceUpdate 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"` //结果
Coin int64 `protobuf:"varint,2,opt,name=Coin,proto3" json:"Coin,omitempty"` //玩家的余额
}
func (x *SCThridGameBalanceUpdate) Reset() {
*x = SCThridGameBalanceUpdate{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCThridGameBalanceUpdate) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCThridGameBalanceUpdate) ProtoMessage() {}
func (x *SCThridGameBalanceUpdate) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[55]
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 SCThridGameBalanceUpdate.ProtoReflect.Descriptor instead.
func (*SCThridGameBalanceUpdate) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{55}
}
func (x *SCThridGameBalanceUpdate) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
func (x *SCThridGameBalanceUpdate) GetCoin() int64 {
if x != nil {
return x.Coin
}
return 0
}
type SCThridGameBalanceUpdateState 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 *SCThridGameBalanceUpdateState) Reset() {
*x = SCThridGameBalanceUpdateState{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[56]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCThridGameBalanceUpdateState) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCThridGameBalanceUpdateState) ProtoMessage() {}
func (x *SCThridGameBalanceUpdateState) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[56]
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 SCThridGameBalanceUpdateState.ProtoReflect.Descriptor instead.
func (*SCThridGameBalanceUpdateState) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{56}
}
func (x *SCThridGameBalanceUpdateState) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
//创建私人房间
//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
Params []int32 `protobuf:"varint,2,rep,packed,name=Params,proto3" json:"Params,omitempty"` //场参数 1:局数索引(从1开始) 2:中途加入 3:同IP
}
func (x *CSCreatePrivateRoom) Reset() {
*x = CSCreatePrivateRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[57]
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[57]
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{57}
}
func (x *CSCreatePrivateRoom) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *CSCreatePrivateRoom) GetParams() []int32 {
if x != nil {
return x.Params
}
return nil
}
//创建私人房间
//PACKET_SC_CREATEPRIVATEROOM
type SCCreatePrivateRoom struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
//游戏ID
GameFreeId int32 `protobuf:"varint,1,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` //游戏id
Params []int32 `protobuf:"varint,2,rep,packed,name=Params,proto3" json:"Params,omitempty"` //场参数 1:局数索引(从1开始) 2:中途加入 3:同IP
RoomId int32 `protobuf:"varint,3,opt,name=RoomId,proto3" json:"RoomId,omitempty"` //房间编号
OpRetCode OpResultCode_Game `protobuf:"varint,4,opt,name=OpRetCode,proto3,enum=gamehall.OpResultCode_Game" json:"OpRetCode,omitempty"` //结果
}
func (x *SCCreatePrivateRoom) Reset() {
*x = SCCreatePrivateRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[58]
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[58]
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{58}
}
func (x *SCCreatePrivateRoom) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *SCCreatePrivateRoom) GetParams() []int32 {
if x != nil {
return x.Params
}
return nil
}
func (x *SCCreatePrivateRoom) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *SCCreatePrivateRoom) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
//个人创建的房间信息
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
RoomId int32 `protobuf:"varint,2,opt,name=RoomId,proto3" json:"RoomId,omitempty"` //房间编号
CurrRound int32 `protobuf:"varint,3,opt,name=CurrRound,proto3" json:"CurrRound,omitempty"` //当前第几轮
MaxRound int32 `protobuf:"varint,4,opt,name=MaxRound,proto3" json:"MaxRound,omitempty"` //最多多少轮
CurrNum int32 `protobuf:"varint,5,opt,name=CurrNum,proto3" json:"CurrNum,omitempty"` //当前人数
MaxPlayer int32 `protobuf:"varint,6,opt,name=MaxPlayer,proto3" json:"MaxPlayer,omitempty"` //最大人数
CreateTs int32 `protobuf:"varint,7,opt,name=CreateTs,proto3" json:"CreateTs,omitempty"` //创建时间戳
}
func (x *PrivateRoomInfo) Reset() {
*x = PrivateRoomInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[59]
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[59]
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{59}
}
func (x *PrivateRoomInfo) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *PrivateRoomInfo) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
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() int32 {
if x != nil {
return x.CreateTs
}
return 0
}
//获取代开的房间列表
//PACKET_CS_GETPRIVATEROOMLIST
type CSGetPrivateRoomList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CSGetPrivateRoomList) Reset() {
*x = CSGetPrivateRoomList{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[60]
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[60]
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{60}
}
//PACKET_SC_GETPRIVATEROOMLIST
type SCGetPrivateRoomList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Datas []*PrivateRoomInfo `protobuf:"bytes,1,rep,name=Datas,proto3" json:"Datas,omitempty"` //房间列表
}
func (x *SCGetPrivateRoomList) Reset() {
*x = SCGetPrivateRoomList{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[61]
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[61]
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{61}
}
func (x *SCGetPrivateRoomList) GetDatas() []*PrivateRoomInfo {
if x != nil {
return x.Datas
}
return nil
}
//获取代开的房间历史记录
//PACKET_CS_GETPRIVATEROOMHISTORY
type CSGetPrivateRoomHistory struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
QueryTime int32 `protobuf:"varint,1,opt,name=QueryTime,proto3" json:"QueryTime,omitempty"` //查询日期 YYYYMMDD
}
func (x *CSGetPrivateRoomHistory) Reset() {
*x = CSGetPrivateRoomHistory{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[62]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSGetPrivateRoomHistory) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSGetPrivateRoomHistory) ProtoMessage() {}
func (x *CSGetPrivateRoomHistory) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[62]
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 CSGetPrivateRoomHistory.ProtoReflect.Descriptor instead.
func (*CSGetPrivateRoomHistory) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{62}
}
func (x *CSGetPrivateRoomHistory) GetQueryTime() int32 {
if x != nil {
return x.QueryTime
}
return 0
}
//已开房间历史记录
type PrivateRoomHistory struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameFreeId int32 `protobuf:"varint,1,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` //游戏id
RoomId int32 `protobuf:"varint,2,opt,name=RoomId,proto3" json:"RoomId,omitempty"` //房间编号
CreateTime int32 `protobuf:"varint,3,opt,name=CreateTime,proto3" json:"CreateTime,omitempty"` //创建时间,时间戳
DestroyTime int32 `protobuf:"varint,4,opt,name=DestroyTime,proto3" json:"DestroyTime,omitempty"` //结束时间,时间戳
CreateFee int32 `protobuf:"varint,5,opt,name=CreateFee,proto3" json:"CreateFee,omitempty"` //房费
}
func (x *PrivateRoomHistory) Reset() {
*x = PrivateRoomHistory{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[63]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PrivateRoomHistory) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PrivateRoomHistory) ProtoMessage() {}
func (x *PrivateRoomHistory) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[63]
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 PrivateRoomHistory.ProtoReflect.Descriptor instead.
func (*PrivateRoomHistory) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{63}
}
func (x *PrivateRoomHistory) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *PrivateRoomHistory) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *PrivateRoomHistory) GetCreateTime() int32 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *PrivateRoomHistory) GetDestroyTime() int32 {
if x != nil {
return x.DestroyTime
}
return 0
}
func (x *PrivateRoomHistory) GetCreateFee() int32 {
if x != nil {
return x.CreateFee
}
return 0
}
//PACKET_SC_GETPRIVATEROOMHISTORY
type SCGetPrivateRoomHistory struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
QueryTime int32 `protobuf:"varint,1,opt,name=QueryTime,proto3" json:"QueryTime,omitempty"` //查询日期
Datas []*PrivateRoomHistory `protobuf:"bytes,2,rep,name=Datas,proto3" json:"Datas,omitempty"` //历史开房记录
}
func (x *SCGetPrivateRoomHistory) Reset() {
*x = SCGetPrivateRoomHistory{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[64]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCGetPrivateRoomHistory) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCGetPrivateRoomHistory) ProtoMessage() {}
func (x *SCGetPrivateRoomHistory) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[64]
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 SCGetPrivateRoomHistory.ProtoReflect.Descriptor instead.
func (*SCGetPrivateRoomHistory) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{64}
}
func (x *SCGetPrivateRoomHistory) GetQueryTime() int32 {
if x != nil {
return x.QueryTime
}
return 0
}
func (x *SCGetPrivateRoomHistory) GetDatas() []*PrivateRoomHistory {
if x != nil {
return x.Datas
}
return nil
}
//PACKET_CS_DESTROYPRIVATEROOM
type CSDestroyPrivateRoom struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoomId int32 `protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"`
}
func (x *CSDestroyPrivateRoom) Reset() {
*x = CSDestroyPrivateRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[65]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSDestroyPrivateRoom) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSDestroyPrivateRoom) ProtoMessage() {}
func (x *CSDestroyPrivateRoom) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[65]
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 CSDestroyPrivateRoom.ProtoReflect.Descriptor instead.
func (*CSDestroyPrivateRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{65}
}
func (x *CSDestroyPrivateRoom) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
//PACKET_SC_DESTROYPRIVATEROOM
type SCDestroyPrivateRoom 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"` //结果
State int32 `protobuf:"varint,3,opt,name=State,proto3" json:"State,omitempty"` //状态 0:删除中 1:已删除
}
func (x *SCDestroyPrivateRoom) Reset() {
*x = SCDestroyPrivateRoom{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[66]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCDestroyPrivateRoom) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCDestroyPrivateRoom) ProtoMessage() {}
func (x *SCDestroyPrivateRoom) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[66]
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 SCDestroyPrivateRoom.ProtoReflect.Descriptor instead.
func (*SCDestroyPrivateRoom) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{66}
}
func (x *SCDestroyPrivateRoom) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *SCDestroyPrivateRoom) GetOpRetCode() OpResultCode_Game {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Game_OPRC_Sucess_Game
}
func (x *SCDestroyPrivateRoom) GetState() int32 {
if x != nil {
return x.State
}
return 0
}
//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
}
func (x *CSQueryRoomInfo) Reset() {
*x = CSQueryRoomInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[67]
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[67]
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{67}
}
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
}
//个人创建的房间信息
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[68]
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[68]
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{68}
}
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[69]
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[69]
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{69}
}
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
}
//注册观察者,用于推送游戏的状态信息
//PACKET_CS_GAMEOBSERVE
type CSGameObserve struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameId int32 `protobuf:"varint,1,opt,name=GameId,proto3" json:"GameId,omitempty"` //游戏ID
StartOrEnd bool `protobuf:"varint,2,opt,name=StartOrEnd,proto3" json:"StartOrEnd,omitempty"` //打开或者关闭
}
func (x *CSGameObserve) Reset() {
*x = CSGameObserve{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[70]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSGameObserve) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSGameObserve) ProtoMessage() {}
func (x *CSGameObserve) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[70]
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 CSGameObserve.ProtoReflect.Descriptor instead.
func (*CSGameObserve) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{70}
}
func (x *CSGameObserve) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *CSGameObserve) GetStartOrEnd() bool {
if x != nil {
return x.StartOrEnd
}
return false
}
//PACKET_SC_GAMESUBLIST
type GameSubRecord struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameFreeId int32 `protobuf:"varint,1,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"`
LogCnt int32 `protobuf:"varint,2,opt,name=LogCnt,proto3" json:"LogCnt,omitempty"`
NewLog int32 `protobuf:"varint,3,opt,name=NewLog,proto3" json:"NewLog,omitempty"` //新结果
TotleLog []int32 `protobuf:"varint,4,rep,packed,name=TotleLog,proto3" json:"TotleLog,omitempty"` //最近几局的中奖结果
}
func (x *GameSubRecord) Reset() {
*x = GameSubRecord{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[71]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GameSubRecord) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameSubRecord) ProtoMessage() {}
func (x *GameSubRecord) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[71]
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 GameSubRecord.ProtoReflect.Descriptor instead.
func (*GameSubRecord) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{71}
}
func (x *GameSubRecord) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *GameSubRecord) GetLogCnt() int32 {
if x != nil {
return x.LogCnt
}
return 0
}
func (x *GameSubRecord) GetNewLog() int32 {
if x != nil {
return x.NewLog
}
return 0
}
func (x *GameSubRecord) GetTotleLog() []int32 {
if x != nil {
return x.TotleLog
}
return nil
}
type SCGameSubList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*GameSubRecord `protobuf:"bytes,1,rep,name=List,proto3" json:"List,omitempty"`
}
func (x *SCGameSubList) Reset() {
*x = SCGameSubList{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[72]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCGameSubList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCGameSubList) ProtoMessage() {}
func (x *SCGameSubList) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[72]
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 SCGameSubList.ProtoReflect.Descriptor instead.
func (*SCGameSubList) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{72}
}
func (x *SCGameSubList) GetList() []*GameSubRecord {
if x != nil {
return x.List
}
return nil
}
//游戏中的状态
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[73]
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[73]
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{73}
}
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
}
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[74]
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[74]
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{74}
}
func (x *SCGameState) GetList() []*GameState {
if x != nil {
return x.List
}
return nil
}
//奖金池数据
type LotteryData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameFreeId int32 `protobuf:"varint,1,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"`
Value int64 `protobuf:"varint,2,opt,name=Value,proto3" json:"Value,omitempty"`
}
func (x *LotteryData) Reset() {
*x = LotteryData{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[75]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LotteryData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LotteryData) ProtoMessage() {}
func (x *LotteryData) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[75]
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 LotteryData.ProtoReflect.Descriptor instead.
func (*LotteryData) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{75}
}
func (x *LotteryData) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *LotteryData) GetValue() int64 {
if x != nil {
return x.Value
}
return 0
}
//奖金池同步 PACKET_SC_LOTTERYSYNC
type SCLotterySync struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Datas []*LotteryData `protobuf:"bytes,1,rep,name=Datas,proto3" json:"Datas,omitempty"`
}
func (x *SCLotterySync) Reset() {
*x = SCLotterySync{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[76]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCLotterySync) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCLotterySync) ProtoMessage() {}
func (x *SCLotterySync) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[76]
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 SCLotterySync.ProtoReflect.Descriptor instead.
func (*SCLotterySync) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{76}
}
func (x *SCLotterySync) GetDatas() []*LotteryData {
if x != nil {
return x.Datas
}
return nil
}
//PACKET_CS_LOTTERYLOG = 2288;
type CSLotteryLog struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameFreeId int32 `protobuf:"varint,1,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"`
}
func (x *CSLotteryLog) Reset() {
*x = CSLotteryLog{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[77]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSLotteryLog) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSLotteryLog) ProtoMessage() {}
func (x *CSLotteryLog) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[77]
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 CSLotteryLog.ProtoReflect.Descriptor instead.
func (*CSLotteryLog) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{77}
}
func (x *CSLotteryLog) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
//奖池中奖记录
type LotteryLog struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Time int32 `protobuf:"varint,1,opt,name=Time,proto3" json:"Time,omitempty"`
NickName string `protobuf:"bytes,2,opt,name=NickName,proto3" json:"NickName,omitempty"`
Card []int32 `protobuf:"varint,3,rep,packed,name=Card,proto3" json:"Card,omitempty"`
Kind int32 `protobuf:"varint,4,opt,name=Kind,proto3" json:"Kind,omitempty"`
Coin int32 `protobuf:"varint,5,opt,name=Coin,proto3" json:"Coin,omitempty"`
}
func (x *LotteryLog) Reset() {
*x = LotteryLog{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[78]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LotteryLog) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LotteryLog) ProtoMessage() {}
func (x *LotteryLog) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[78]
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 LotteryLog.ProtoReflect.Descriptor instead.
func (*LotteryLog) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{78}
}
func (x *LotteryLog) GetTime() int32 {
if x != nil {
return x.Time
}
return 0
}
func (x *LotteryLog) GetNickName() string {
if x != nil {
return x.NickName
}
return ""
}
func (x *LotteryLog) GetCard() []int32 {
if x != nil {
return x.Card
}
return nil
}
func (x *LotteryLog) GetKind() int32 {
if x != nil {
return x.Kind
}
return 0
}
func (x *LotteryLog) GetCoin() int32 {
if x != nil {
return x.Coin
}
return 0
}
//PACKET_SC_LOTTERYLOG = 2289;
type SCLotteryLog struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameFreeId int32 `protobuf:"varint,1,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"`
Logs []*LotteryLog `protobuf:"bytes,2,rep,name=Logs,proto3" json:"Logs,omitempty"`
}
func (x *SCLotteryLog) Reset() {
*x = SCLotteryLog{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[79]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCLotteryLog) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCLotteryLog) ProtoMessage() {}
func (x *SCLotteryLog) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[79]
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 SCLotteryLog.ProtoReflect.Descriptor instead.
func (*SCLotteryLog) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{79}
}
func (x *SCLotteryLog) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *SCLotteryLog) GetLogs() []*LotteryLog {
if x != nil {
return x.Logs
}
return nil
}
//PACKET_SC_LOTTERYBILL = 2290
type SCLotteryBill struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameFreeId int32 `protobuf:"varint,1,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"`
SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"`
Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"`
Kind int32 `protobuf:"varint,4,opt,name=Kind,proto3" json:"Kind,omitempty"`
Card []int32 `protobuf:"varint,5,rep,packed,name=Card,proto3" json:"Card,omitempty"`
Value int64 `protobuf:"varint,6,opt,name=Value,proto3" json:"Value,omitempty"`
}
func (x *SCLotteryBill) Reset() {
*x = SCLotteryBill{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[80]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCLotteryBill) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCLotteryBill) ProtoMessage() {}
func (x *SCLotteryBill) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[80]
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 SCLotteryBill.ProtoReflect.Descriptor instead.
func (*SCLotteryBill) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{80}
}
func (x *SCLotteryBill) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *SCLotteryBill) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *SCLotteryBill) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SCLotteryBill) GetKind() int32 {
if x != nil {
return x.Kind
}
return 0
}
func (x *SCLotteryBill) GetCard() []int32 {
if x != nil {
return x.Card
}
return nil
}
func (x *SCLotteryBill) GetValue() int64 {
if x != nil {
return x.Value
}
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[81]
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[81]
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{81}
}
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 = 2231
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[82]
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[82]
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{82}
}
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[83]
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[83]
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{83}
}
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 = 2232
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[84]
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[84]
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{84}
}
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[85]
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[85]
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{85}
}
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
GameCfg []int32 `protobuf:"varint,1,rep,packed,name=GameCfg,proto3" json:"GameCfg,omitempty"` //界面入口开关
}
func (x *SCChangeEntrySwitch) Reset() {
*x = SCChangeEntrySwitch{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[86]
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[86]
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{86}
}
func (x *SCChangeEntrySwitch) GetGameCfg() []int32 {
if x != nil {
return x.GameCfg
}
return nil
}
//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[87]
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[87]
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{87}
}
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[88]
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[88]
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{88}
}
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[89]
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[89]
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{89}
}
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[90]
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[90]
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{90}
}
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
}
//PACKET_CS_UPLOADLOC
type CSUploadLoc struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Longitude int32 `protobuf:"varint,1,opt,name=Longitude,proto3" json:"Longitude,omitempty"` //经度
Latitude int32 `protobuf:"varint,2,opt,name=Latitude,proto3" json:"Latitude,omitempty"` //纬度
City string `protobuf:"bytes,3,opt,name=City,proto3" json:"City,omitempty"` //城市 例:中国-河南省-郑州市
}
func (x *CSUploadLoc) Reset() {
*x = CSUploadLoc{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[91]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSUploadLoc) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSUploadLoc) ProtoMessage() {}
func (x *CSUploadLoc) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[91]
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 CSUploadLoc.ProtoReflect.Descriptor instead.
func (*CSUploadLoc) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{91}
}
func (x *CSUploadLoc) GetLongitude() int32 {
if x != nil {
return x.Longitude
}
return 0
}
func (x *CSUploadLoc) GetLatitude() int32 {
if x != nil {
return x.Latitude
}
return 0
}
func (x *CSUploadLoc) GetCity() string {
if x != nil {
return x.City
}
return ""
}
//PACKET_SC_UPLOADLOC
type SCUploadLoc struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Pos int32 `protobuf:"varint,1,opt,name=Pos,proto3" json:"Pos,omitempty"`
Longitude int32 `protobuf:"varint,2,opt,name=Longitude,proto3" json:"Longitude,omitempty"` //经度
Latitude int32 `protobuf:"varint,3,opt,name=Latitude,proto3" json:"Latitude,omitempty"` //纬度
City string `protobuf:"bytes,4,opt,name=City,proto3" json:"City,omitempty"` //城市 例:中国-河南省-郑州市
}
func (x *SCUploadLoc) Reset() {
*x = SCUploadLoc{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[92]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCUploadLoc) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCUploadLoc) ProtoMessage() {}
func (x *SCUploadLoc) ProtoReflect() protoreflect.Message {
mi := &file_game_proto_msgTypes[92]
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 SCUploadLoc.ProtoReflect.Descriptor instead.
func (*SCUploadLoc) Descriptor() ([]byte, []int) {
return file_game_proto_rawDescGZIP(), []int{92}
}
func (x *SCUploadLoc) GetPos() int32 {
if x != nil {
return x.Pos
}
return 0
}
func (x *SCUploadLoc) GetLongitude() int32 {
if x != nil {
return x.Longitude
}
return 0
}
func (x *SCUploadLoc) GetLatitude() int32 {
if x != nil {
return x.Latitude
}
return 0
}
func (x *SCUploadLoc) GetCity() string {
if x != nil {
return x.City
}
return ""
}
//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[93]
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[93]
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{93}
}
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[94]
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[94]
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{94}
}
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[95]
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[95]
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{95}
}
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"`
ImgUrl string `protobuf:"bytes,10,opt,name=ImgUrl,proto3" json:"ImgUrl,omitempty"`
NoticeId int32 `protobuf:"varint,11,opt,name=NoticeId,proto3" json:"NoticeId,omitempty"`
IsLoop int32 `protobuf:"varint,12,opt,name=IsLoop,proto3" json:"IsLoop,omitempty"`
LoopTime int32 `protobuf:"varint,13,opt,name=LoopTime,proto3" json:"LoopTime,omitempty"`
}
func (x *CommonNotice) Reset() {
*x = CommonNotice{}
if protoimpl.UnsafeEnabled {
mi := &file_game_proto_msgTypes[96]
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[96]
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{96}
}
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
}
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[97]
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[97]
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{97}
}
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[98]
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[98]
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{98}
}
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[99]
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[99]
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{99}
}
// 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[100]
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[100]
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{100}
}
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[101]
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[101]
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{101}
}
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
}
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, 0x25, 0x0a, 0x0b, 0x43, 0x53, 0x45, 0x6e, 0x74, 0x65,
0x72, 0x48, 0x61, 0x6c, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x48, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x48, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x22, 0x60, 0x0a,
0x0b, 0x53, 0x43, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x61, 0x6c, 0x6c, 0x12, 0x16, 0x0a, 0x06,
0x48, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x18, 0x01, 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, 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, 0x22,
0x0d, 0x0a, 0x0b, 0x43, 0x53, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x48, 0x61, 0x6c, 0x6c, 0x22, 0x25,
0x0a, 0x0b, 0x53, 0x43, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x48, 0x61, 0x6c, 0x6c, 0x12, 0x16, 0x0a,
0x06, 0x48, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x48,
0x61, 0x6c, 0x6c, 0x49, 0x64, 0x22, 0xb8, 0x01, 0x0a, 0x0e, 0x52, 0x6f, 0x6f, 0x6d, 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,
0x48, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x48, 0x65, 0x61, 0x64,
0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x53,
0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x05, 0x20,
0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x6c, 0x61, 0x67,
0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x20, 0x0a, 0x0b,
0x48, 0x65, 0x61, 0x64, 0x4f, 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x10,
0x0a, 0x03, 0x56, 0x49, 0x50, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x56, 0x49, 0x50,
0x22, 0x72, 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 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, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67,
0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67,
0x12, 0x32, 0x0a, 0x07, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x18, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x52, 0x6f, 0x6f,
0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x50, 0x6c, 0x61,
0x79, 0x65, 0x72, 0x73, 0x22, 0x28, 0x0a, 0x0e, 0x43, 0x53, 0x48, 0x61, 0x6c, 0x6c, 0x52, 0x6f,
0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x48, 0x61, 0x6c, 0x6c, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x48, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x22, 0x46,
0x0a, 0x08, 0x48, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x63,
0x65, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53,
0x63, 0x65, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x79,
0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, 0x6c, 0x61,
0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x22, 0x3f, 0x0a, 0x0d, 0x48, 0x61, 0x6c, 0x6c, 0x50, 0x6c,
0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x2e, 0x0a, 0x08, 0x48, 0x61, 0x6c, 0x6c, 0x44,
0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x61, 0x6d, 0x65,
0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x48, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x48,
0x61, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x22, 0xe4, 0x01, 0x0a, 0x0e, 0x53, 0x43, 0x48, 0x61,
0x6c, 0x6c, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x48, 0x61,
0x6c, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x48, 0x61, 0x6c, 0x6c,
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, 0x47, 0x61,
0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x61,
0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x73, 0x41, 0x64, 0x64, 0x18,
0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x49, 0x73, 0x41, 0x64, 0x64, 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, 0x28, 0x0a, 0x05, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x06, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x52,
0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x2e,
0x0a, 0x08, 0x48, 0x61, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x12, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x48, 0x61, 0x6c, 0x6c,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x48, 0x61, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x22, 0x5d,
0x0a, 0x11, 0x53, 0x43, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x65, 0x72, 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, 0x30, 0x0a, 0x06, 0x50,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x61,
0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65,
0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x22, 0x3d, 0x0a,
0x11, 0x53, 0x43, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x61,
0x76, 0x65, 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, 0x10, 0x0a, 0x03, 0x50, 0x6f,
0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x22, 0x5d, 0x0a, 0x11,
0x53, 0x43, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67,
0x65, 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, 0x53, 0x74, 0x61,
0x72, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x53, 0x74, 0x61,
0x72, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 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, 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, 0x3d, 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, 0x22, 0xdc, 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, 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, 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, 0x38, 0x0a, 0x0c, 0x43, 0x53, 0x47, 0x65, 0x74,
0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x65, 0x72, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x56, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d,
0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49,
0x64, 0x22, 0x8f, 0x01, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65,
0x52, 0x65, 0x63, 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, 0x12, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43,
0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12,
0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f,
0x73, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x61, 0x72,
0x61, 0x6d, 0x73, 0x22, 0x84, 0x03, 0x0a, 0x07, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x12,
0x14, 0x0a, 0x05, 0x52, 0x65, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
0x52, 0x65, 0x63, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x18, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e,
0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x52, 0x05, 0x44,
0x61, 0x74, 0x61, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
0x52, 0x02, 0x54, 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, 0x1a, 0x0a, 0x08,
0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x63, 0x65, 0x6e,
0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x63, 0x65,
0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64,
0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x22,
0x0a, 0x0c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x08,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x66, 0x47, 0x61, 0x6d,
0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x4e, 0x75, 0x6d, 0x4f, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x73,
0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4e, 0x75, 0x6d, 0x4f, 0x66, 0x47, 0x61, 0x6d,
0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x6f, 0x6f, 0x6d, 0x46, 0x65, 0x65, 0x4d, 0x6f, 0x64,
0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x52, 0x6f, 0x6f, 0x6d, 0x46, 0x65, 0x65,
0x4d, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x61, 0x72, 0x64,
0x43, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x52, 0x6f, 0x6f, 0x6d, 0x43,
0x61, 0x72, 0x64, 0x43, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1a,
0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05,
0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x0c, 0x53, 0x43,
0x47, 0x65, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x12, 0x25, 0x0a, 0x04, 0x52, 0x65,
0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68,
0x61, 0x6c, 0x6c, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x52, 0x04, 0x52, 0x65, 0x63,
0x73, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03,
0x56, 0x65, 0x72, 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, 0x2a, 0x0a, 0x0a, 0x43,
0x53, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x75, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x68, 0x61,
0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x68,
0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x47, 0x0a, 0x0a, 0x53, 0x43, 0x53, 0x68, 0x61,
0x72, 0x65, 0x53, 0x75, 0x63, 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, 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, 0x41, 0x0a, 0x0d, 0x43,
0x53, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 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, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x18,
0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x49, 0x73, 0x41, 0x67, 0x65, 0x6e, 0x74, 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, 0x31, 0x0a, 0x09, 0x43,
0x53, 0x53, 0x68, 0x6f, 0x70, 0x42, 0x75, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc2,
0x01, 0x0a, 0x09, 0x53, 0x43, 0x53, 0x68, 0x6f, 0x70, 0x42, 0x75, 0x79, 0x12, 0x0e, 0x0a, 0x02,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 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, 0x1a, 0x0a, 0x08, 0x43, 0x6f, 0x73, 0x74, 0x54,
0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x6f, 0x73, 0x74, 0x54,
0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x04,
0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a,
0x08, 0x47, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
0x08, 0x47, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x61, 0x69,
0x6e, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x61, 0x69, 0x6e,
0x4e, 0x75, 0x6d, 0x22, 0x62, 0x0a, 0x0a, 0x43, 0x53, 0x4a, 0x6f, 0x69, 0x6e, 0x47, 0x61, 0x6d,
0x65, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x07, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53,
0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12,
0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f,
0x73, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x67, 0x72, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
0x52, 0x05, 0x41, 0x67, 0x72, 0x65, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x0a, 0x53, 0x43, 0x4a, 0x6f,
0x69, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65,
0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01,
0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 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, 0x63, 0x0a, 0x0d, 0x43, 0x53, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x67,
0x47, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x79, 0x70,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x79,
0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x44, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x18,
0x0a, 0x07, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x22, 0xde, 0x01, 0x0a, 0x0d, 0x53, 0x43, 0x45,
0x6e, 0x74, 0x65, 0x72, 0x44, 0x67, 0x47, 0x61, 0x6d, 0x65, 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, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x72,
0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x72,
0x6c, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x67, 0x47, 0x61, 0x6d,
0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x44, 0x67, 0x47, 0x61, 0x6d,
0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x44,
0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x44, 0x6f,
0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20,
0x03, 0x28, 0x09, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x0f, 0x0a, 0x0d, 0x43, 0x53, 0x4c,
0x65, 0x61, 0x76, 0x65, 0x44, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x22, 0x4a, 0x0a, 0x0d, 0x53, 0x43,
0x4c, 0x65, 0x61, 0x76, 0x65, 0x44, 0x67, 0x47, 0x61, 0x6d, 0x65, 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, 0x2f, 0x0a, 0x17, 0x43, 0x53, 0x54, 0x68, 0x72, 0x69,
0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69,
0x63, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x52, 0x65, 0x71, 0x49, 0x64, 0x22, 0x7e, 0x0a, 0x0c, 0x54, 0x68, 0x72, 0x69, 0x64,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x54, 0x68, 0x72, 0x69, 0x64,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0f, 0x54, 0x68, 0x72, 0x69, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49,
0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a,
0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x63, 0x0a, 0x17, 0x53, 0x43, 0x54, 0x68, 0x72,
0x69, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74,
0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x52, 0x65, 0x71, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x61, 0x6d,
0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x54, 0x68, 0x72, 0x69, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x52, 0x08, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x5c, 0x0a, 0x16,
0x43, 0x53, 0x54, 0x68, 0x72, 0x69, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72,
0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x12,
0x0a, 0x04, 0x54, 0x6f, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x6f,
0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01,
0x28, 0x03, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x87, 0x01, 0x0a, 0x16, 0x53,
0x43, 0x54, 0x68, 0x72, 0x69, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61,
0x6e, 0x73, 0x66, 0x65, 0x72, 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, 0x32, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x54, 0x68,
0x72, 0x69, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x08, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x73, 0x22, 0x34, 0x0a, 0x10, 0x43, 0x53, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x54,
0x68, 0x72, 0x69, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x68, 0x72, 0x69,
0x64, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x54,
0x68, 0x72, 0x69, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x22, 0xc1, 0x01, 0x0a, 0x10, 0x53,
0x43, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x68, 0x72, 0x69, 0x64, 0x47, 0x61, 0x6d, 0x65, 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, 0x1a, 0x0a, 0x08, 0x45, 0x6e,
0x74, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x45, 0x6e,
0x74, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x34, 0x0a, 0x15, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e,
0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4f, 0x72, 0x69,
0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b,
0x54, 0x68, 0x72, 0x69, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0b, 0x54, 0x68, 0x72, 0x69, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x22, 0x12,
0x0a, 0x10, 0x43, 0x53, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x54, 0x68, 0x72, 0x69, 0x64, 0x47, 0x61,
0x6d, 0x65, 0x22, 0x4d, 0x0a, 0x10, 0x53, 0x43, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x54, 0x68, 0x72,
0x69, 0x64, 0x47, 0x61, 0x6d, 0x65, 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, 0x11, 0x0a, 0x0f, 0x43, 0x53, 0x54, 0x68, 0x72, 0x69, 0x64, 0x47, 0x61, 0x6d, 0x65,
0x4c, 0x69, 0x73, 0x74, 0x22, 0x58, 0x0a, 0x0e, 0x54, 0x68, 0x72, 0x69, 0x64, 0x47, 0x61, 0x6d,
0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x68, 0x72, 0x69, 0x64, 0x47,
0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x54, 0x68, 0x72,
0x69, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x68, 0x72, 0x69,
0x64, 0x47, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0d, 0x54, 0x68, 0x72, 0x69, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa4,
0x01, 0x0a, 0x12, 0x54, 0x68, 0x72, 0x69, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x54, 0x68, 0x72, 0x69, 0x64, 0x50, 0x6c,
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f,
0x54, 0x68, 0x72, 0x69, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12,
0x2c, 0x0a, 0x11, 0x54, 0x68, 0x72, 0x69, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x54, 0x68, 0x72, 0x69,
0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a,
0x09, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x18, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x54, 0x68, 0x72, 0x69,
0x64, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x52, 0x09, 0x47, 0x61, 0x6d, 0x65,
0x44, 0x61, 0x74, 0x61, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x0f, 0x53, 0x43, 0x54, 0x68, 0x72, 0x69,
0x64, 0x47, 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x73, 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, 0x12, 0x42, 0x0a, 0x0d, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x61,
0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x54, 0x68, 0x72, 0x69, 0x64, 0x47, 0x61, 0x6d, 0x65,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x52, 0x0d, 0x47, 0x61, 0x6d, 0x65, 0x50,
0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x22, 0x1a, 0x0a, 0x18, 0x43, 0x53, 0x54, 0x68,
0x72, 0x69, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x22, 0x69, 0x0a, 0x18, 0x53, 0x43, 0x54, 0x68, 0x72, 0x69, 0x64, 0x47,
0x61, 0x6d, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
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, 0x12, 0x0a, 0x04, 0x43,
0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x22,
0x5a, 0x0a, 0x1d, 0x53, 0x43, 0x54, 0x68, 0x72, 0x69, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x61,
0x6c, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65,
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, 0x4d, 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, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03,
0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xa0, 0x01, 0x0a, 0x13, 0x53,
0x43, 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, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03,
0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 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, 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, 0xd7, 0x01,
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, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x75, 0x72,
0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 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, 0x04, 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, 0x05,
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, 0x06, 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, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x53, 0x47, 0x65, 0x74,
0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x22,
0x47, 0x0a, 0x14, 0x53, 0x43, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52,
0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73,
0x18, 0x01, 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, 0x37, 0x0a, 0x17, 0x43, 0x53, 0x47, 0x65,
0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x48, 0x69, 0x73, 0x74,
0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x69, 0x6d,
0x65, 0x22, 0xac, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f,
0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 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, 0x52, 0x6f, 0x6f, 0x6d,
0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64,
0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x54, 0x69,
0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x18,
0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65,
0x22, 0x6b, 0x0a, 0x17, 0x53, 0x43, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65,
0x52, 0x6f, 0x6f, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x51,
0x75, 0x65, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x44, 0x61, 0x74,
0x61, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68,
0x61, 0x6c, 0x6c, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x48,
0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x22, 0x2e, 0x0a,
0x14, 0x43, 0x53, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74,
0x65, 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, 0x22, 0x7f, 0x0a,
0x14, 0x53, 0x43, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74,
0x65, 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, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x57,
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, 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, 0x47, 0x0a, 0x0d, 0x43,
0x53, 0x47, 0x61, 0x6d, 0x65, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 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, 0x1e, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x72, 0x45,
0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4f,
0x72, 0x45, 0x6e, 0x64, 0x22, 0x7b, 0x0a, 0x0d, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x75, 0x62, 0x52,
0x65, 0x63, 0x6f, 0x72, 0x64, 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, 0x4c, 0x6f, 0x67, 0x43, 0x6e, 0x74, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4c, 0x6f, 0x67, 0x43, 0x6e, 0x74, 0x12, 0x16, 0x0a,
0x06, 0x4e, 0x65, 0x77, 0x4c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4e,
0x65, 0x77, 0x4c, 0x6f, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x6f, 0x74, 0x6c, 0x65, 0x4c, 0x6f,
0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x54, 0x6f, 0x74, 0x6c, 0x65, 0x4c, 0x6f,
0x67, 0x22, 0x3c, 0x0a, 0x0d, 0x53, 0x43, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x75, 0x62, 0x4c, 0x69,
0x73, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x47, 0x61, 0x6d, 0x65,
0x53, 0x75, 0x62, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 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, 0x43, 0x0a, 0x0b, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72,
0x79, 0x44, 0x61, 0x74, 0x61, 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, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x3c, 0x0a, 0x0d, 0x53,
0x43, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x2b, 0x0a, 0x05,
0x44, 0x61, 0x74, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x61,
0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x44, 0x61,
0x74, 0x61, 0x52, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x22, 0x2e, 0x0a, 0x0c, 0x43, 0x53, 0x4c,
0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x4c, 0x6f, 0x67, 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, 0x22, 0x78, 0x0a, 0x0a, 0x4c, 0x6f, 0x74,
0x74, 0x65, 0x72, 0x79, 0x4c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e,
0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e,
0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x18,
0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4b,
0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12,
0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43,
0x6f, 0x69, 0x6e, 0x22, 0x58, 0x0a, 0x0c, 0x53, 0x43, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79,
0x4c, 0x6f, 0x67, 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, 0x28, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x14, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x4c, 0x6f, 0x74,
0x74, 0x65, 0x72, 0x79, 0x4c, 0x6f, 0x67, 0x52, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x22, 0x95, 0x01,
0x0a, 0x0d, 0x53, 0x43, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x42, 0x69, 0x6c, 0x6c, 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,
0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53,
0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43,
0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12,
0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05,
0x56, 0x61, 0x6c, 0x75, 0x65, 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, 0x2f, 0x0a, 0x13, 0x53, 0x43, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x47,
0x61, 0x6d, 0x65, 0x43, 0x66, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x47, 0x61,
0x6d, 0x65, 0x43, 0x66, 0x67, 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, 0x5b, 0x0a, 0x0b, 0x43,
0x53, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f,
0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4c,
0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x74, 0x69,
0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4c, 0x61, 0x74, 0x69,
0x74, 0x75, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x43, 0x69, 0x74, 0x79, 0x22, 0x6d, 0x0a, 0x0b, 0x53, 0x43, 0x55, 0x70,
0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x6e,
0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4c, 0x6f,
0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x74, 0x69, 0x74,
0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4c, 0x61, 0x74, 0x69, 0x74,
0x75, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x43, 0x69, 0x74, 0x79, 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, 0xe2, 0x02, 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, 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, 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, 0x2a, 0xe6, 0x09, 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,
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,
0xd0, 0x17, 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, 0x17,
0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4a, 0x4f, 0x49, 0x4e,
0x47, 0x41, 0x4d, 0x45, 0x10, 0x98, 0x11, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45,
0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x47, 0x41, 0x4d, 0x45, 0x10, 0x99, 0x11,
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, 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, 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, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43,
0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x47, 0x41, 0x49, 0x4e, 0x57,
0x41, 0x59, 0x10, 0xa5, 0x11, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
0x43, 0x53, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xa6, 0x11, 0x12, 0x17,
0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x41, 0x53, 0x4b,
0x4c, 0x49, 0x53, 0x54, 0x10, 0xa7, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45,
0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x43, 0x48, 0x47, 0x10, 0xa8, 0x11, 0x12,
0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x41, 0x43,
0x4b, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0xa9, 0x11, 0x12, 0x16, 0x0a, 0x11,
0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x44, 0x45,
0x4c, 0x10, 0xaa, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43,
0x53, 0x5f, 0x54, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, 0x57, 0x50, 0x52, 0x49, 0x5a, 0x45, 0x10,
0xab, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f,
0x54, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, 0x57, 0x50, 0x52, 0x49, 0x5a, 0x45, 0x10, 0xac, 0x11,
0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45,
0x54, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x45, 0x43, 0x10, 0xaf, 0x11,
0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45,
0x54, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x45, 0x43, 0x10, 0xb0, 0x11,
0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x44, 0x45,
0x4c, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x45, 0x43, 0x10, 0xb1, 0x11,
0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x48,
0x4f, 0x50, 0x42, 0x55, 0x59, 0x10, 0xb2, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b,
0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x42, 0x55, 0x59, 0x10, 0xb3, 0x11,
0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x49,
0x4d, 0x49, 0x54, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xb4, 0x11, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41,
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x4c, 0x41, 0x54, 0x45, 0x4c,
0x59, 0x47, 0x41, 0x4d, 0x45, 0x49, 0x44, 0x53, 0x10, 0xb5, 0x11, 0x12, 0x1f, 0x0a, 0x1a, 0x50,
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x4c, 0x41, 0x54, 0x45,
0x4c, 0x59, 0x47, 0x41, 0x4d, 0x45, 0x49, 0x44, 0x53, 0x10, 0xb6, 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, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43,
0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x48, 0x41, 0x4c, 0x4c,
0x10, 0xc0, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43,
0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x48, 0x41, 0x4c, 0x4c, 0x10, 0xc1, 0x11, 0x12, 0x18, 0x0a,
0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45,
0x48, 0x41, 0x4c, 0x4c, 0x10, 0xc2, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45,
0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x48, 0x41, 0x4c, 0x4c, 0x10, 0xc3,
0x11, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x48,
0x41, 0x4c, 0x4c, 0x52, 0x4f, 0x4f, 0x4d, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xc4, 0x11, 0x12, 0x1b,
0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x48, 0x41, 0x4c, 0x4c,
0x52, 0x4f, 0x4f, 0x4d, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xc5, 0x11, 0x12, 0x1e, 0x0a, 0x19, 0x50,
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x50, 0x4c, 0x41,
0x59, 0x45, 0x52, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0xc6, 0x11, 0x12, 0x1e, 0x0a, 0x19, 0x50,
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x50, 0x4c, 0x41,
0x59, 0x45, 0x52, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x10, 0xc7, 0x11, 0x12, 0x1d, 0x0a, 0x18, 0x50,
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x53, 0x54, 0x41,
0x54, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x10, 0xc8, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41,
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x48, 0x41, 0x4c, 0x4c, 0x50, 0x4c, 0x41, 0x59,
0x45, 0x52, 0x4e, 0x55, 0x4d, 0x10, 0xc9, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b,
0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x42, 0x55, 0x4c, 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x49,
0x4e, 0x46, 0x4f, 0x10, 0xca, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
0x5f, 0x43, 0x53, 0x5f, 0x42, 0x55, 0x4c, 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x46,
0x4f, 0x10, 0xcb, 0x11, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43,
0x53, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x45, 0x52, 0x49, 0x4e, 0x46, 0x4f, 0x4c, 0x49,
0x53, 0x54, 0x10, 0xcc, 0x11, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
0x53, 0x43, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x45, 0x52, 0x49, 0x4e, 0x46, 0x4f, 0x4c,
0x49, 0x53, 0x54, 0x10, 0xcd, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
0x5f, 0x43, 0x53, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x44, 0x47, 0x47, 0x41, 0x4d, 0x45, 0x10,
0xce, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f,
0x45, 0x4e, 0x54, 0x45, 0x52, 0x44, 0x47, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xcf, 0x11, 0x12, 0x1a,
0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4c, 0x45, 0x41, 0x56,
0x45, 0x44, 0x47, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xd0, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41,
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x44, 0x47, 0x47,
0x41, 0x4d, 0x45, 0x10, 0xd1, 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, 0x25, 0x0a, 0x20, 0x50,
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x54, 0x48, 0x52, 0x49, 0x44, 0x41, 0x43,
0x43, 0x4f, 0x55, 0x4e, 0x54, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x53, 0x54, 0x49, 0x43, 0x10,
0xd3, 0x11, 0x12, 0x25, 0x0a, 0x20, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f,
0x54, 0x48, 0x52, 0x49, 0x44, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x53, 0x54, 0x41, 0x54,
0x49, 0x43, 0x53, 0x54, 0x49, 0x43, 0x10, 0xd4, 0x11, 0x12, 0x23, 0x0a, 0x1e, 0x50, 0x41, 0x43,
0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x54, 0x48, 0x52, 0x49, 0x44, 0x41, 0x43, 0x43, 0x4f,
0x55, 0x4e, 0x54, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x10, 0xd5, 0x11, 0x12, 0x23,
0x0a, 0x1e, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x48, 0x52, 0x49,
0x44, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52,
0x10, 0xd6, 0x11, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53,
0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x54, 0x48, 0x52, 0x49, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x10,
0xd7, 0x11, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f,
0x45, 0x4e, 0x54, 0x45, 0x52, 0x54, 0x48, 0x52, 0x49, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xd8,
0x11, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4c,
0x45, 0x41, 0x56, 0x45, 0x54, 0x48, 0x52, 0x49, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xd9, 0x11,
0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x45,
0x41, 0x56, 0x45, 0x54, 0x48, 0x52, 0x49, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xda, 0x11, 0x12,
0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x54, 0x48, 0x52,
0x49, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xdb, 0x11, 0x12, 0x1c, 0x0a,
0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x48, 0x52, 0x49, 0x44,
0x47, 0x41, 0x4d, 0x45, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xdc, 0x11, 0x12, 0x25, 0x0a, 0x20, 0x50,
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x54, 0x48, 0x52, 0x49, 0x44, 0x47, 0x41,
0x4d, 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10,
0xdd, 0x11, 0x12, 0x25, 0x0a, 0x20, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f,
0x54, 0x48, 0x52, 0x49, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45,
0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0xde, 0x11, 0x12, 0x2a, 0x0a, 0x25, 0x50, 0x41, 0x43,
0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x48, 0x52, 0x49, 0x44, 0x47, 0x41, 0x4d, 0x45,
0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x53, 0x54, 0x41,
0x54, 0x45, 0x10, 0xdf, 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,
0x24, 0x0a, 0x1f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54,
0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x48, 0x49, 0x53, 0x54, 0x4f,
0x52, 0x59, 0x10, 0xe4, 0x11, 0x12, 0x24, 0x0a, 0x1f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
0x53, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f,
0x4d, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x10, 0xe5, 0x11, 0x12, 0x21, 0x0a, 0x1c, 0x50,
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59,
0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xe6, 0x11, 0x12, 0x21,
0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x44, 0x45, 0x53, 0x54,
0x52, 0x4f, 0x59, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xe7,
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, 0x1a, 0x0a,
0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x53,
0x55, 0x42, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xeb, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43,
0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4f, 0x42, 0x53, 0x45, 0x52,
0x56, 0x45, 0x10, 0xec, 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,
0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x59, 0x4e,
0x43, 0x47, 0x41, 0x4d, 0x45, 0x46, 0x52, 0x45, 0x45, 0x10, 0xee, 0x11, 0x12, 0x1a, 0x0a, 0x15,
0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x4f, 0x54, 0x54, 0x45, 0x52,
0x59, 0x53, 0x59, 0x4e, 0x43, 0x10, 0xef, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b,
0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4c, 0x4f, 0x54, 0x54, 0x45, 0x52, 0x59, 0x4c, 0x4f, 0x47,
0x10, 0xf0, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43,
0x5f, 0x4c, 0x4f, 0x54, 0x54, 0x45, 0x52, 0x59, 0x4c, 0x4f, 0x47, 0x10, 0xf1, 0x11, 0x12, 0x1a,
0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x4f, 0x54, 0x54,
0x45, 0x52, 0x59, 0x42, 0x49, 0x4c, 0x4c, 0x10, 0xf2, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41,
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x4c, 0x4f,
0x43, 0x10, 0xf3, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53,
0x43, 0x5f, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x4c, 0x4f, 0x43, 0x10, 0xf4, 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, 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, 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, 2)
var file_game_proto_msgTypes = make([]protoimpl.MessageInfo, 102)
var file_game_proto_goTypes = []interface{}{
(OpResultCode_Game)(0), // 0: gamehall.OpResultCode_Game
(GameHallPacketID)(0), // 1: gamehall.GameHallPacketID
(*CSEnterHall)(nil), // 2: gamehall.CSEnterHall
(*SCEnterHall)(nil), // 3: gamehall.SCEnterHall
(*CSLeaveHall)(nil), // 4: gamehall.CSLeaveHall
(*SCLeaveHall)(nil), // 5: gamehall.SCLeaveHall
(*RoomPlayerInfo)(nil), // 6: gamehall.RoomPlayerInfo
(*RoomInfo)(nil), // 7: gamehall.RoomInfo
(*CSHallRoomList)(nil), // 8: gamehall.CSHallRoomList
(*HallInfo)(nil), // 9: gamehall.HallInfo
(*HallPlayerNum)(nil), // 10: gamehall.HallPlayerNum
(*SCHallRoomList)(nil), // 11: gamehall.SCHallRoomList
(*SCRoomPlayerEnter)(nil), // 12: gamehall.SCRoomPlayerEnter
(*SCRoomPlayerLeave)(nil), // 13: gamehall.SCRoomPlayerLeave
(*SCRoomStateChange)(nil), // 14: gamehall.SCRoomStateChange
(*CSCreateRoom)(nil), // 15: gamehall.CSCreateRoom
(*SCCreateRoom)(nil), // 16: gamehall.SCCreateRoom
(*CSDestroyRoom)(nil), // 17: gamehall.CSDestroyRoom
(*SCDestroyRoom)(nil), // 18: gamehall.SCDestroyRoom
(*CSEnterRoom)(nil), // 19: gamehall.CSEnterRoom
(*SCEnterRoom)(nil), // 20: gamehall.SCEnterRoom
(*CSLeaveRoom)(nil), // 21: gamehall.CSLeaveRoom
(*SCLeaveRoom)(nil), // 22: gamehall.SCLeaveRoom
(*CSReturnRoom)(nil), // 23: gamehall.CSReturnRoom
(*SCReturnRoom)(nil), // 24: gamehall.SCReturnRoom
(*CSGetGameRec)(nil), // 25: gamehall.CSGetGameRec
(*PlayerGameRec)(nil), // 26: gamehall.PlayerGameRec
(*GameRec)(nil), // 27: gamehall.GameRec
(*SCGetGameRec)(nil), // 28: gamehall.SCGetGameRec
(*CSShareSuc)(nil), // 29: gamehall.CSShareSuc
(*SCShareSuc)(nil), // 30: gamehall.SCShareSuc
(*CSForceStart)(nil), // 31: gamehall.CSForceStart
(*SCForceStart)(nil), // 32: gamehall.SCForceStart
(*CSInviteRobot)(nil), // 33: gamehall.CSInviteRobot
(*CSPlayerSwithFlag)(nil), // 34: gamehall.CSPlayerSwithFlag
(*CSShopBuy)(nil), // 35: gamehall.CSShopBuy
(*SCShopBuy)(nil), // 36: gamehall.SCShopBuy
(*CSJoinGame)(nil), // 37: gamehall.CSJoinGame
(*SCJoinGame)(nil), // 38: gamehall.SCJoinGame
(*CSEnterDgGame)(nil), // 39: gamehall.CSEnterDgGame
(*SCEnterDgGame)(nil), // 40: gamehall.SCEnterDgGame
(*CSLeaveDgGame)(nil), // 41: gamehall.CSLeaveDgGame
(*SCLeaveDgGame)(nil), // 42: gamehall.SCLeaveDgGame
(*CSThridAccountStatistic)(nil), // 43: gamehall.CSThridAccountStatistic
(*ThridAccount)(nil), // 44: gamehall.ThridAccount
(*SCThridAccountStatistic)(nil), // 45: gamehall.SCThridAccountStatistic
(*CSThridAccountTransfer)(nil), // 46: gamehall.CSThridAccountTransfer
(*SCThridAccountTransfer)(nil), // 47: gamehall.SCThridAccountTransfer
(*CSEnterThridGame)(nil), // 48: gamehall.CSEnterThridGame
(*SCEnterThridGame)(nil), // 49: gamehall.SCEnterThridGame
(*CSLeaveThridGame)(nil), // 50: gamehall.CSLeaveThridGame
(*SCLeaveThridGame)(nil), // 51: gamehall.SCLeaveThridGame
(*CSThridGameList)(nil), // 52: gamehall.CSThridGameList
(*ThridGameDatas)(nil), // 53: gamehall.ThridGameDatas
(*ThridGamePlatforms)(nil), // 54: gamehall.ThridGamePlatforms
(*SCThridGameList)(nil), // 55: gamehall.SCThridGameList
(*CSThridGameBalanceUpdate)(nil), // 56: gamehall.CSThridGameBalanceUpdate
(*SCThridGameBalanceUpdate)(nil), // 57: gamehall.SCThridGameBalanceUpdate
(*SCThridGameBalanceUpdateState)(nil), // 58: gamehall.SCThridGameBalanceUpdateState
(*CSCreatePrivateRoom)(nil), // 59: gamehall.CSCreatePrivateRoom
(*SCCreatePrivateRoom)(nil), // 60: gamehall.SCCreatePrivateRoom
(*PrivateRoomInfo)(nil), // 61: gamehall.PrivateRoomInfo
(*CSGetPrivateRoomList)(nil), // 62: gamehall.CSGetPrivateRoomList
(*SCGetPrivateRoomList)(nil), // 63: gamehall.SCGetPrivateRoomList
(*CSGetPrivateRoomHistory)(nil), // 64: gamehall.CSGetPrivateRoomHistory
(*PrivateRoomHistory)(nil), // 65: gamehall.PrivateRoomHistory
(*SCGetPrivateRoomHistory)(nil), // 66: gamehall.SCGetPrivateRoomHistory
(*CSDestroyPrivateRoom)(nil), // 67: gamehall.CSDestroyPrivateRoom
(*SCDestroyPrivateRoom)(nil), // 68: gamehall.SCDestroyPrivateRoom
(*CSQueryRoomInfo)(nil), // 69: gamehall.CSQueryRoomInfo
(*QRoomInfo)(nil), // 70: gamehall.QRoomInfo
(*SCQueryRoomInfo)(nil), // 71: gamehall.SCQueryRoomInfo
(*CSGameObserve)(nil), // 72: gamehall.CSGameObserve
(*GameSubRecord)(nil), // 73: gamehall.GameSubRecord
(*SCGameSubList)(nil), // 74: gamehall.SCGameSubList
(*GameState)(nil), // 75: gamehall.GameState
(*SCGameState)(nil), // 76: gamehall.SCGameState
(*LotteryData)(nil), // 77: gamehall.LotteryData
(*SCLotterySync)(nil), // 78: gamehall.SCLotterySync
(*CSLotteryLog)(nil), // 79: gamehall.CSLotteryLog
(*LotteryLog)(nil), // 80: gamehall.LotteryLog
(*SCLotteryLog)(nil), // 81: gamehall.SCLotteryLog
(*SCLotteryBill)(nil), // 82: gamehall.SCLotteryBill
(*GameConfig1)(nil), // 83: gamehall.GameConfig1
(*CSGetGameConfig)(nil), // 84: gamehall.CSGetGameConfig
(*ChessRankInfo)(nil), // 85: gamehall.ChessRankInfo
(*SCGetGameConfig)(nil), // 86: gamehall.SCGetGameConfig
(*SCChangeGameStatus)(nil), // 87: gamehall.SCChangeGameStatus
(*SCChangeEntrySwitch)(nil), // 88: gamehall.SCChangeEntrySwitch
(*CSEnterGame)(nil), // 89: gamehall.CSEnterGame
(*SCEnterGame)(nil), // 90: gamehall.SCEnterGame
(*CSQuitGame)(nil), // 91: gamehall.CSQuitGame
(*SCQuitGame)(nil), // 92: gamehall.SCQuitGame
(*CSUploadLoc)(nil), // 93: gamehall.CSUploadLoc
(*SCUploadLoc)(nil), // 94: gamehall.SCUploadLoc
(*CSAudienceSit)(nil), // 95: gamehall.CSAudienceSit
(*SCAudienceSit)(nil), // 96: gamehall.SCAudienceSit
(*CSRecordAndNotice)(nil), // 97: gamehall.CSRecordAndNotice
(*CommonNotice)(nil), // 98: gamehall.CommonNotice
(*PlayerRecord)(nil), // 99: gamehall.PlayerRecord
(*SCRecordAndNotice)(nil), // 100: gamehall.SCRecordAndNotice
(*SCNoticeChange)(nil), // 101: gamehall.SCNoticeChange
(*CSRoomEvent)(nil), // 102: gamehall.CSRoomEvent
(*SCRoomEvent)(nil), // 103: gamehall.SCRoomEvent
}
var file_game_proto_depIdxs = []int32{
0, // 0: gamehall.SCEnterHall.OpRetCode:type_name -> gamehall.OpResultCode_Game
6, // 1: gamehall.RoomInfo.Players:type_name -> gamehall.RoomPlayerInfo
9, // 2: gamehall.HallPlayerNum.HallData:type_name -> gamehall.HallInfo
7, // 3: gamehall.SCHallRoomList.Rooms:type_name -> gamehall.RoomInfo
9, // 4: gamehall.SCHallRoomList.HallData:type_name -> gamehall.HallInfo
6, // 5: gamehall.SCRoomPlayerEnter.Player:type_name -> gamehall.RoomPlayerInfo
0, // 6: gamehall.SCCreateRoom.OpRetCode:type_name -> gamehall.OpResultCode_Game
0, // 7: gamehall.SCDestroyRoom.OpRetCode:type_name -> gamehall.OpResultCode_Game
0, // 8: gamehall.SCEnterRoom.OpRetCode:type_name -> gamehall.OpResultCode_Game
0, // 9: gamehall.SCLeaveRoom.OpRetCode:type_name -> gamehall.OpResultCode_Game
0, // 10: gamehall.SCReturnRoom.OpRetCode:type_name -> gamehall.OpResultCode_Game
26, // 11: gamehall.GameRec.Datas:type_name -> gamehall.PlayerGameRec
27, // 12: gamehall.SCGetGameRec.Recs:type_name -> gamehall.GameRec
0, // 13: gamehall.SCShareSuc.OpRetCode:type_name -> gamehall.OpResultCode_Game
0, // 14: gamehall.SCForceStart.OpRetCode:type_name -> gamehall.OpResultCode_Game
0, // 15: gamehall.SCShopBuy.OpRetCode:type_name -> gamehall.OpResultCode_Game
0, // 16: gamehall.SCJoinGame.OpRetCode:type_name -> gamehall.OpResultCode_Game
0, // 17: gamehall.SCEnterDgGame.OpRetCode:type_name -> gamehall.OpResultCode_Game
0, // 18: gamehall.SCLeaveDgGame.OpRetCode:type_name -> gamehall.OpResultCode_Game
44, // 19: gamehall.SCThridAccountStatistic.Accounts:type_name -> gamehall.ThridAccount
0, // 20: gamehall.SCThridAccountTransfer.OpRetCode:type_name -> gamehall.OpResultCode_Game
44, // 21: gamehall.SCThridAccountTransfer.Accounts:type_name -> gamehall.ThridAccount
0, // 22: gamehall.SCEnterThridGame.OpRetCode:type_name -> gamehall.OpResultCode_Game
0, // 23: gamehall.SCLeaveThridGame.OpRetCode:type_name -> gamehall.OpResultCode_Game
53, // 24: gamehall.ThridGamePlatforms.GameDatas:type_name -> gamehall.ThridGameDatas
0, // 25: gamehall.SCThridGameList.OpRetCode:type_name -> gamehall.OpResultCode_Game
54, // 26: gamehall.SCThridGameList.GamePlatforms:type_name -> gamehall.ThridGamePlatforms
0, // 27: gamehall.SCThridGameBalanceUpdate.OpRetCode:type_name -> gamehall.OpResultCode_Game
0, // 28: gamehall.SCThridGameBalanceUpdateState.OpRetCode:type_name -> gamehall.OpResultCode_Game
0, // 29: gamehall.SCCreatePrivateRoom.OpRetCode:type_name -> gamehall.OpResultCode_Game
61, // 30: gamehall.SCGetPrivateRoomList.Datas:type_name -> gamehall.PrivateRoomInfo
65, // 31: gamehall.SCGetPrivateRoomHistory.Datas:type_name -> gamehall.PrivateRoomHistory
0, // 32: gamehall.SCDestroyPrivateRoom.OpRetCode:type_name -> gamehall.OpResultCode_Game
70, // 33: gamehall.SCQueryRoomInfo.RoomInfo:type_name -> gamehall.QRoomInfo
0, // 34: gamehall.SCQueryRoomInfo.OpRetCode:type_name -> gamehall.OpResultCode_Game
73, // 35: gamehall.SCGameSubList.List:type_name -> gamehall.GameSubRecord
75, // 36: gamehall.SCGameState.List:type_name -> gamehall.GameState
77, // 37: gamehall.SCLotterySync.Datas:type_name -> gamehall.LotteryData
80, // 38: gamehall.SCLotteryLog.Logs:type_name -> gamehall.LotteryLog
83, // 39: gamehall.SCGetGameConfig.GameCfg:type_name -> gamehall.GameConfig1
85, // 40: gamehall.SCGetGameConfig.ChessRanks:type_name -> gamehall.ChessRankInfo
83, // 41: gamehall.SCChangeGameStatus.GameCfg:type_name -> gamehall.GameConfig1
0, // 42: gamehall.SCEnterGame.OpCode:type_name -> gamehall.OpResultCode_Game
0, // 43: gamehall.SCQuitGame.OpCode:type_name -> gamehall.OpResultCode_Game
0, // 44: gamehall.SCAudienceSit.OpCode:type_name -> gamehall.OpResultCode_Game
0, // 45: gamehall.SCRecordAndNotice.OpCode:type_name -> gamehall.OpResultCode_Game
98, // 46: gamehall.SCRecordAndNotice.List:type_name -> gamehall.CommonNotice
99, // 47: gamehall.SCRecordAndNotice.Glist:type_name -> gamehall.PlayerRecord
0, // 48: gamehall.SCRoomEvent.OpCode:type_name -> gamehall.OpResultCode_Game
49, // [49:49] is the sub-list for method output_type
49, // [49:49] is the sub-list for method input_type
49, // [49:49] is the sub-list for extension type_name
49, // [49:49] is the sub-list for extension extendee
0, // [0:49] 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.(*CSEnterHall); 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.(*SCEnterHall); 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.(*CSLeaveHall); 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.(*SCLeaveHall); 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.(*RoomPlayerInfo); 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.(*RoomInfo); 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.(*CSHallRoomList); 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.(*HallInfo); 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.(*HallPlayerNum); 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.(*SCHallRoomList); 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.(*SCRoomPlayerEnter); 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.(*SCRoomPlayerLeave); 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.(*SCRoomStateChange); 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.(*CSCreateRoom); 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.(*SCCreateRoom); 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.(*CSDestroyRoom); 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.(*SCDestroyRoom); 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.(*CSEnterRoom); 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.(*SCEnterRoom); 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.(*CSLeaveRoom); 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.(*SCLeaveRoom); 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.(*CSReturnRoom); 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.(*SCReturnRoom); 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.(*CSGetGameRec); 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.(*PlayerGameRec); 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.(*GameRec); 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.(*SCGetGameRec); 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.(*CSShareSuc); 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.(*SCShareSuc); 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.(*CSForceStart); 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.(*SCForceStart); 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.(*CSInviteRobot); 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.(*CSPlayerSwithFlag); 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.(*CSShopBuy); 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.(*SCShopBuy); 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.(*CSJoinGame); 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.(*SCJoinGame); 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.(*CSEnterDgGame); 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.(*SCEnterDgGame); 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.(*CSLeaveDgGame); 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.(*SCLeaveDgGame); 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.(*CSThridAccountStatistic); 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.(*ThridAccount); 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.(*SCThridAccountStatistic); 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.(*CSThridAccountTransfer); 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.(*SCThridAccountTransfer); 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.(*CSEnterThridGame); 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.(*SCEnterThridGame); 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.(*CSLeaveThridGame); 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.(*SCLeaveThridGame); 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.(*CSThridGameList); 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.(*ThridGameDatas); 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.(*ThridGamePlatforms); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCThridGameList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSThridGameBalanceUpdate); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCThridGameBalanceUpdate); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCThridGameBalanceUpdateState); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[57].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[58].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[59].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[60].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[61].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[62].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSGetPrivateRoomHistory); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PrivateRoomHistory); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCGetPrivateRoomHistory); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSDestroyPrivateRoom); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCDestroyPrivateRoom); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[67].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[68].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[69].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[70].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSGameObserve); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GameSubRecord); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCGameSubList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[73].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[74].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[75].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LotteryData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCLotterySync); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSLotteryLog); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LotteryLog); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCLotteryLog); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCLotteryBill); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[81].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[82].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[83].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[84].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[85].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[86].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[87].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[88].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[89].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[90].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[91].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSUploadLoc); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCUploadLoc); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_game_proto_msgTypes[93].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[94].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[95].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[96].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[97].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[98].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[99].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[100].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[101].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
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_game_proto_rawDesc,
NumEnums: 2,
NumMessages: 102,
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
}