// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.1-devel // protoc v3.19.4 // source: baccarat.proto package baccarat 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 BaccaratPacketID int32 const ( BaccaratPacketID_PACKET_BACCARAT_ZERO BaccaratPacketID = 0 //弃用消息号 BaccaratPacketID_PACKET_SC_BACCARAT_ROOMINFO BaccaratPacketID = 5120 //房间信息 BaccaratPacketID_PACKET_CS_BACCARAT_PLAYEROP BaccaratPacketID = 5121 //玩家操作(客户-》服务) BaccaratPacketID_PACKET_SC_BACCARAT_PLAYEROP BaccaratPacketID = 5122 //玩家操作(服务-》客户) BaccaratPacketID_PACKET_SC_BACCARAT_ROOMSTATE BaccaratPacketID = 5123 //房间状态 BaccaratPacketID_PACKET_SC_BACCARAT_GAMEBILLED BaccaratPacketID = 5124 //游戏结算 BaccaratPacketID_PACKET_SC_BACCARAT_SEATS BaccaratPacketID = 5125 //座位信息 BaccaratPacketID_PACKET_SC_BACCARAT_PLAYERLIST BaccaratPacketID = 5126 //玩家列表 BaccaratPacketID_PACKET_SC_BACCARAT_SENDBET BaccaratPacketID = 5127 //批量押注筹码信息 BaccaratPacketID_PACKET_SC_BACCARAT_BANKERLIST BaccaratPacketID = 5128 // 上庄列表 ) // Enum value maps for BaccaratPacketID. var ( BaccaratPacketID_name = map[int32]string{ 0: "PACKET_BACCARAT_ZERO", 5120: "PACKET_SC_BACCARAT_ROOMINFO", 5121: "PACKET_CS_BACCARAT_PLAYEROP", 5122: "PACKET_SC_BACCARAT_PLAYEROP", 5123: "PACKET_SC_BACCARAT_ROOMSTATE", 5124: "PACKET_SC_BACCARAT_GAMEBILLED", 5125: "PACKET_SC_BACCARAT_SEATS", 5126: "PACKET_SC_BACCARAT_PLAYERLIST", 5127: "PACKET_SC_BACCARAT_SENDBET", 5128: "PACKET_SC_BACCARAT_BANKERLIST", } BaccaratPacketID_value = map[string]int32{ "PACKET_BACCARAT_ZERO": 0, "PACKET_SC_BACCARAT_ROOMINFO": 5120, "PACKET_CS_BACCARAT_PLAYEROP": 5121, "PACKET_SC_BACCARAT_PLAYEROP": 5122, "PACKET_SC_BACCARAT_ROOMSTATE": 5123, "PACKET_SC_BACCARAT_GAMEBILLED": 5124, "PACKET_SC_BACCARAT_SEATS": 5125, "PACKET_SC_BACCARAT_PLAYERLIST": 5126, "PACKET_SC_BACCARAT_SENDBET": 5127, "PACKET_SC_BACCARAT_BANKERLIST": 5128, } ) func (x BaccaratPacketID) Enum() *BaccaratPacketID { p := new(BaccaratPacketID) *p = x return p } func (x BaccaratPacketID) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (BaccaratPacketID) Descriptor() protoreflect.EnumDescriptor { return file_baccarat_proto_enumTypes[0].Descriptor() } func (BaccaratPacketID) Type() protoreflect.EnumType { return &file_baccarat_proto_enumTypes[0] } func (x BaccaratPacketID) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use BaccaratPacketID.Descriptor instead. func (BaccaratPacketID) EnumDescriptor() ([]byte, []int) { return file_baccarat_proto_rawDescGZIP(), []int{0} } type OpResultCode int32 const ( OpResultCode_OPRC_Sucess OpResultCode = 0 //成功 OpResultCode_OPRC_Error OpResultCode = 1 //失败 OpResultCode_OPRC_Baccarat_EachBetsLimit OpResultCode = 7000 //每门下注上限 OpResultCode_OPRC_Baccarat_YouHadBetCannotLeave OpResultCode = 7001 //你已下注!不能离开 OpResultCode_OPRC_Baccarat_YouHadBankerCannotLeave OpResultCode = 7002 //你已上庄!不能离开 OpResultCode_OPRC_Baccarat_CoinMustReachTheValue OpResultCode = 7005 //抱歉,xx筹码以上才能下注 OpResultCode_OPRC_Baccarat_CoinIsNotEnough OpResultCode = 7006 //你的金币不足,无法下注 OpResultCode_OPRC_Baccarat_BankerWaiting OpResultCode = 7007 //你已经在上庄等待区了 OpResultCode_OPRC_Baccarat_BankerLimit OpResultCode = 7008 //不满足上庄条件 OpResultCode_OPRC_Baccarat_NotBankerWaiting OpResultCode = 7009 //你已经在上庄等待区了 OpResultCode_OPRC_Baccarat_BankerCannotBet OpResultCode = 7010 //庄家不能下注 OpResultCode_OPRC_Baccarat_SelfBetLimitRate OpResultCode = 7011 //下注总额不能超过自身携带的1/6 ) // Enum value maps for OpResultCode. var ( OpResultCode_name = map[int32]string{ 0: "OPRC_Sucess", 1: "OPRC_Error", 7000: "OPRC_Baccarat_EachBetsLimit", 7001: "OPRC_Baccarat_YouHadBetCannotLeave", 7002: "OPRC_Baccarat_YouHadBankerCannotLeave", 7005: "OPRC_Baccarat_CoinMustReachTheValue", 7006: "OPRC_Baccarat_CoinIsNotEnough", 7007: "OPRC_Baccarat_BankerWaiting", 7008: "OPRC_Baccarat_BankerLimit", 7009: "OPRC_Baccarat_NotBankerWaiting", 7010: "OPRC_Baccarat_BankerCannotBet", 7011: "OPRC_Baccarat_SelfBetLimitRate", } OpResultCode_value = map[string]int32{ "OPRC_Sucess": 0, "OPRC_Error": 1, "OPRC_Baccarat_EachBetsLimit": 7000, "OPRC_Baccarat_YouHadBetCannotLeave": 7001, "OPRC_Baccarat_YouHadBankerCannotLeave": 7002, "OPRC_Baccarat_CoinMustReachTheValue": 7005, "OPRC_Baccarat_CoinIsNotEnough": 7006, "OPRC_Baccarat_BankerWaiting": 7007, "OPRC_Baccarat_BankerLimit": 7008, "OPRC_Baccarat_NotBankerWaiting": 7009, "OPRC_Baccarat_BankerCannotBet": 7010, "OPRC_Baccarat_SelfBetLimitRate": 7011, } ) func (x OpResultCode) Enum() *OpResultCode { p := new(OpResultCode) *p = x return p } func (x OpResultCode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OpResultCode) Descriptor() protoreflect.EnumDescriptor { return file_baccarat_proto_enumTypes[1].Descriptor() } func (OpResultCode) Type() protoreflect.EnumType { return &file_baccarat_proto_enumTypes[1] } func (x OpResultCode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OpResultCode.Descriptor instead. func (OpResultCode) EnumDescriptor() ([]byte, []int) { return file_baccarat_proto_rawDescGZIP(), []int{1} } type BaccaratPlayerData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` //名字 SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` //账号 Head int32 `protobuf:"varint,3,opt,name=Head,proto3" json:"Head,omitempty"` //头像 Sex int32 `protobuf:"varint,4,opt,name=Sex,proto3" json:"Sex,omitempty"` //性别 Coin int64 `protobuf:"varint,5,opt,name=Coin,proto3" json:"Coin,omitempty"` //金币 Pos int32 `protobuf:"varint,6,opt,name=Pos,proto3" json:"Pos,omitempty"` //座位位置 Flag int32 `protobuf:"varint,7,opt,name=Flag,proto3" json:"Flag,omitempty"` //二进制标记 Params []string `protobuf:"bytes,8,rep,name=Params,proto3" json:"Params,omitempty"` //其他数据 如:ip 等 City string `protobuf:"bytes,9,opt,name=City,proto3" json:"City,omitempty"` //城市 Lately20Win int64 `protobuf:"varint,10,opt,name=Lately20Win,proto3" json:"Lately20Win,omitempty"` //最近20局输赢 (赢的次数) Lately20Bet int64 `protobuf:"varint,11,opt,name=Lately20Bet,proto3" json:"Lately20Bet,omitempty"` //最近20局总下注 (可能是负值) HeadOutLine int32 `protobuf:"varint,12,opt,name=HeadOutLine,proto3" json:"HeadOutLine,omitempty"` //头像框 VIP int32 `protobuf:"varint,13,opt,name=VIP,proto3" json:"VIP,omitempty"` NiceId int32 `protobuf:"varint,14,opt,name=NiceId,proto3" json:"NiceId,omitempty"` } func (x *BaccaratPlayerData) Reset() { *x = BaccaratPlayerData{} if protoimpl.UnsafeEnabled { mi := &file_baccarat_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BaccaratPlayerData) String() string { return protoimpl.X.MessageStringOf(x) } func (*BaccaratPlayerData) ProtoMessage() {} func (x *BaccaratPlayerData) ProtoReflect() protoreflect.Message { mi := &file_baccarat_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 BaccaratPlayerData.ProtoReflect.Descriptor instead. func (*BaccaratPlayerData) Descriptor() ([]byte, []int) { return file_baccarat_proto_rawDescGZIP(), []int{0} } func (x *BaccaratPlayerData) GetName() string { if x != nil { return x.Name } return "" } func (x *BaccaratPlayerData) GetSnId() int32 { if x != nil { return x.SnId } return 0 } func (x *BaccaratPlayerData) GetHead() int32 { if x != nil { return x.Head } return 0 } func (x *BaccaratPlayerData) GetSex() int32 { if x != nil { return x.Sex } return 0 } func (x *BaccaratPlayerData) GetCoin() int64 { if x != nil { return x.Coin } return 0 } func (x *BaccaratPlayerData) GetPos() int32 { if x != nil { return x.Pos } return 0 } func (x *BaccaratPlayerData) GetFlag() int32 { if x != nil { return x.Flag } return 0 } func (x *BaccaratPlayerData) GetParams() []string { if x != nil { return x.Params } return nil } func (x *BaccaratPlayerData) GetCity() string { if x != nil { return x.City } return "" } func (x *BaccaratPlayerData) GetLately20Win() int64 { if x != nil { return x.Lately20Win } return 0 } func (x *BaccaratPlayerData) GetLately20Bet() int64 { if x != nil { return x.Lately20Bet } return 0 } func (x *BaccaratPlayerData) GetHeadOutLine() int32 { if x != nil { return x.HeadOutLine } return 0 } func (x *BaccaratPlayerData) GetVIP() int32 { if x != nil { return x.VIP } return 0 } func (x *BaccaratPlayerData) GetNiceId() int32 { if x != nil { return x.NiceId } return 0 } //筹码数据 type BaccaratChips struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Chip int32 `protobuf:"varint,1,opt,name=Chip,proto3" json:"Chip,omitempty"` Count int32 `protobuf:"varint,2,opt,name=Count,proto3" json:"Count,omitempty"` } func (x *BaccaratChips) Reset() { *x = BaccaratChips{} if protoimpl.UnsafeEnabled { mi := &file_baccarat_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BaccaratChips) String() string { return protoimpl.X.MessageStringOf(x) } func (*BaccaratChips) ProtoMessage() {} func (x *BaccaratChips) ProtoReflect() protoreflect.Message { mi := &file_baccarat_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 BaccaratChips.ProtoReflect.Descriptor instead. func (*BaccaratChips) Descriptor() ([]byte, []int) { return file_baccarat_proto_rawDescGZIP(), []int{1} } func (x *BaccaratChips) GetChip() int32 { if x != nil { return x.Chip } return 0 } func (x *BaccaratChips) GetCount() int32 { if x != nil { return x.Count } return 0 } type BaccaratZoneChips struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Zone int32 `protobuf:"varint,1,opt,name=Zone,proto3" json:"Zone,omitempty"` //和,龙,虎 Detail []*BaccaratChips `protobuf:"bytes,2,rep,name=Detail,proto3" json:"Detail,omitempty"` //筹码类型 } func (x *BaccaratZoneChips) Reset() { *x = BaccaratZoneChips{} if protoimpl.UnsafeEnabled { mi := &file_baccarat_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BaccaratZoneChips) String() string { return protoimpl.X.MessageStringOf(x) } func (*BaccaratZoneChips) ProtoMessage() {} func (x *BaccaratZoneChips) ProtoReflect() protoreflect.Message { mi := &file_baccarat_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 BaccaratZoneChips.ProtoReflect.Descriptor instead. func (*BaccaratZoneChips) Descriptor() ([]byte, []int) { return file_baccarat_proto_rawDescGZIP(), []int{2} } func (x *BaccaratZoneChips) GetZone() int32 { if x != nil { return x.Zone } return 0 } func (x *BaccaratZoneChips) GetDetail() []*BaccaratChips { if x != nil { return x.Detail } return nil } type SCBaccaratRoomInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields //房间信息 RoomId int32 `protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"` //房间id Creator int32 `protobuf:"varint,2,opt,name=Creator,proto3" json:"Creator,omitempty"` //创建者SnId GameId int32 `protobuf:"varint,3,opt,name=GameId,proto3" json:"GameId,omitempty"` //游戏id RoomMode int32 `protobuf:"varint,4,opt,name=RoomMode,proto3" json:"RoomMode,omitempty"` //游戏模式 Params []int32 `protobuf:"varint,5,rep,packed,name=Params,proto3" json:"Params,omitempty"` //规则参数 NumOfGames int32 `protobuf:"varint,6,opt,name=NumOfGames,proto3" json:"NumOfGames,omitempty"` //当前第几局 Cards []int32 `protobuf:"varint,7,rep,packed,name=Cards,proto3" json:"Cards,omitempty"` //牌数据 (没开牌之前是两个-1) State int32 `protobuf:"varint,8,opt,name=State,proto3" json:"State,omitempty"` //房间当前状态 TimeOut int32 `protobuf:"varint,9,opt,name=TimeOut,proto3" json:"TimeOut,omitempty"` //等待剩余时间 单位:毫秒 BankerPos int32 `protobuf:"varint,10,opt,name=BankerPos,proto3" json:"BankerPos,omitempty"` //庄家位置 DisbandGen int32 `protobuf:"varint,11,opt,name=DisbandGen,proto3" json:"DisbandGen,omitempty"` //解散申请 AgentId int32 `protobuf:"varint,12,opt,name=AgentId,proto3" json:"AgentId,omitempty"` //代开房者 ParamsEx []int32 `protobuf:"varint,13,rep,packed,name=ParamsEx,proto3" json:"ParamsEx,omitempty"` //其他参数 SceneType int32 `protobuf:"varint,14,opt,name=SceneType,proto3" json:"SceneType,omitempty"` //房间模式 0:房卡模式 1:钻石模式 Players []*BaccaratPlayerData `protobuf:"bytes,15,rep,name=Players,proto3" json:"Players,omitempty"` //房间内的玩家信息 TotalChips []int64 `protobuf:"varint,16,rep,packed,name=TotalChips,proto3" json:"TotalChips,omitempty"` //3个区域内的筹码总额 和,龙,虎 MyChips []*BaccaratZoneChips `protobuf:"bytes,17,rep,name=MyChips,proto3" json:"MyChips,omitempty"` //区域内我的筹码数据 Trend100Cur []int32 `protobuf:"varint,18,rep,packed,name=Trend100Cur,proto3" json:"Trend100Cur,omitempty"` //当前100局走势数据 Trend20Lately []int32 `protobuf:"varint,19,rep,packed,name=Trend20Lately,proto3" json:"Trend20Lately,omitempty"` //最近20龙虎走势数据 OLNum int32 `protobuf:"varint,20,opt,name=OLNum,proto3" json:"OLNum,omitempty"` //在线玩家数量 LastCards int32 `protobuf:"varint,21,opt,name=LastCards,proto3" json:"LastCards,omitempty"` //剩余的牌数 BankerId int32 `protobuf:"varint,22,opt,name=BankerId,proto3" json:"BankerId,omitempty"` // 庄家Id LoopNum int32 `protobuf:"varint,23,opt,name=LoopNum,proto3" json:"LoopNum,omitempty"` // 后台控制结算结果时使用 } func (x *SCBaccaratRoomInfo) Reset() { *x = SCBaccaratRoomInfo{} if protoimpl.UnsafeEnabled { mi := &file_baccarat_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCBaccaratRoomInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCBaccaratRoomInfo) ProtoMessage() {} func (x *SCBaccaratRoomInfo) ProtoReflect() protoreflect.Message { mi := &file_baccarat_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 SCBaccaratRoomInfo.ProtoReflect.Descriptor instead. func (*SCBaccaratRoomInfo) Descriptor() ([]byte, []int) { return file_baccarat_proto_rawDescGZIP(), []int{3} } func (x *SCBaccaratRoomInfo) GetRoomId() int32 { if x != nil { return x.RoomId } return 0 } func (x *SCBaccaratRoomInfo) GetCreator() int32 { if x != nil { return x.Creator } return 0 } func (x *SCBaccaratRoomInfo) GetGameId() int32 { if x != nil { return x.GameId } return 0 } func (x *SCBaccaratRoomInfo) GetRoomMode() int32 { if x != nil { return x.RoomMode } return 0 } func (x *SCBaccaratRoomInfo) GetParams() []int32 { if x != nil { return x.Params } return nil } func (x *SCBaccaratRoomInfo) GetNumOfGames() int32 { if x != nil { return x.NumOfGames } return 0 } func (x *SCBaccaratRoomInfo) GetCards() []int32 { if x != nil { return x.Cards } return nil } func (x *SCBaccaratRoomInfo) GetState() int32 { if x != nil { return x.State } return 0 } func (x *SCBaccaratRoomInfo) GetTimeOut() int32 { if x != nil { return x.TimeOut } return 0 } func (x *SCBaccaratRoomInfo) GetBankerPos() int32 { if x != nil { return x.BankerPos } return 0 } func (x *SCBaccaratRoomInfo) GetDisbandGen() int32 { if x != nil { return x.DisbandGen } return 0 } func (x *SCBaccaratRoomInfo) GetAgentId() int32 { if x != nil { return x.AgentId } return 0 } func (x *SCBaccaratRoomInfo) GetParamsEx() []int32 { if x != nil { return x.ParamsEx } return nil } func (x *SCBaccaratRoomInfo) GetSceneType() int32 { if x != nil { return x.SceneType } return 0 } func (x *SCBaccaratRoomInfo) GetPlayers() []*BaccaratPlayerData { if x != nil { return x.Players } return nil } func (x *SCBaccaratRoomInfo) GetTotalChips() []int64 { if x != nil { return x.TotalChips } return nil } func (x *SCBaccaratRoomInfo) GetMyChips() []*BaccaratZoneChips { if x != nil { return x.MyChips } return nil } func (x *SCBaccaratRoomInfo) GetTrend100Cur() []int32 { if x != nil { return x.Trend100Cur } return nil } func (x *SCBaccaratRoomInfo) GetTrend20Lately() []int32 { if x != nil { return x.Trend20Lately } return nil } func (x *SCBaccaratRoomInfo) GetOLNum() int32 { if x != nil { return x.OLNum } return 0 } func (x *SCBaccaratRoomInfo) GetLastCards() int32 { if x != nil { return x.LastCards } return 0 } func (x *SCBaccaratRoomInfo) GetBankerId() int32 { if x != nil { return x.BankerId } return 0 } func (x *SCBaccaratRoomInfo) GetLoopNum() int32 { if x != nil { return x.LoopNum } return 0 } //座位位置 type SCBaccaratSeats struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []*BaccaratPlayerData `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` //玩家信息 PlayerNum int32 `protobuf:"varint,2,opt,name=PlayerNum,proto3" json:"PlayerNum,omitempty"` //玩家数量 BankerId int32 `protobuf:"varint,3,opt,name=BankerId,proto3" json:"BankerId,omitempty"` //庄的id, 0:系统庄 } func (x *SCBaccaratSeats) Reset() { *x = SCBaccaratSeats{} if protoimpl.UnsafeEnabled { mi := &file_baccarat_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCBaccaratSeats) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCBaccaratSeats) ProtoMessage() {} func (x *SCBaccaratSeats) ProtoReflect() protoreflect.Message { mi := &file_baccarat_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 SCBaccaratSeats.ProtoReflect.Descriptor instead. func (*SCBaccaratSeats) Descriptor() ([]byte, []int) { return file_baccarat_proto_rawDescGZIP(), []int{4} } func (x *SCBaccaratSeats) GetData() []*BaccaratPlayerData { if x != nil { return x.Data } return nil } func (x *SCBaccaratSeats) GetPlayerNum() int32 { if x != nil { return x.PlayerNum } return 0 } func (x *SCBaccaratSeats) GetBankerId() int32 { if x != nil { return x.BankerId } return 0 } //玩家操作 type CSBaccaratOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpCode int32 `protobuf:"varint,1,opt,name=OpCode,proto3" json:"OpCode,omitempty"` //操作码 0:押注 1:获取在线玩家 2:上庄 3:在庄的下庄 4:上庄列表 5:下庄 Params []int64 `protobuf:"varint,2,rep,packed,name=Params,proto3" json:"Params,omitempty"` //操作参数 } func (x *CSBaccaratOp) Reset() { *x = CSBaccaratOp{} if protoimpl.UnsafeEnabled { mi := &file_baccarat_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSBaccaratOp) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSBaccaratOp) ProtoMessage() {} func (x *CSBaccaratOp) ProtoReflect() protoreflect.Message { mi := &file_baccarat_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 CSBaccaratOp.ProtoReflect.Descriptor instead. func (*CSBaccaratOp) Descriptor() ([]byte, []int) { return file_baccarat_proto_rawDescGZIP(), []int{5} } func (x *CSBaccaratOp) GetOpCode() int32 { if x != nil { return x.OpCode } return 0 } func (x *CSBaccaratOp) GetParams() []int64 { if x != nil { return x.Params } return nil } //玩家操作返回 type SCBaccaratOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"` //玩家ID OpCode int32 `protobuf:"varint,2,opt,name=OpCode,proto3" json:"OpCode,omitempty"` //操作码 Params []int64 `protobuf:"varint,3,rep,packed,name=Params,proto3" json:"Params,omitempty"` //操作参数 OpRetCode OpResultCode `protobuf:"varint,4,opt,name=OpRetCode,proto3,enum=baccarat.OpResultCode" json:"OpRetCode,omitempty"` //操作结果 } func (x *SCBaccaratOp) Reset() { *x = SCBaccaratOp{} if protoimpl.UnsafeEnabled { mi := &file_baccarat_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCBaccaratOp) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCBaccaratOp) ProtoMessage() {} func (x *SCBaccaratOp) ProtoReflect() protoreflect.Message { mi := &file_baccarat_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 SCBaccaratOp.ProtoReflect.Descriptor instead. func (*SCBaccaratOp) Descriptor() ([]byte, []int) { return file_baccarat_proto_rawDescGZIP(), []int{6} } func (x *SCBaccaratOp) GetSnId() int32 { if x != nil { return x.SnId } return 0 } func (x *SCBaccaratOp) GetOpCode() int32 { if x != nil { return x.OpCode } return 0 } func (x *SCBaccaratOp) GetParams() []int64 { if x != nil { return x.Params } return nil } func (x *SCBaccaratOp) GetOpRetCode() OpResultCode { if x != nil { return x.OpRetCode } return OpResultCode_OPRC_Sucess } //房间状态 type SCBaccaratRoomState struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields State int32 `protobuf:"varint,1,opt,name=State,proto3" json:"State,omitempty"` //房间当前状态 SubState int32 `protobuf:"varint,2,opt,name=SubState,proto3" json:"SubState,omitempty"` //房间当前子状态 Params []int32 `protobuf:"varint,3,rep,packed,name=Params,proto3" json:"Params,omitempty"` //状态参数 } func (x *SCBaccaratRoomState) Reset() { *x = SCBaccaratRoomState{} if protoimpl.UnsafeEnabled { mi := &file_baccarat_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCBaccaratRoomState) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCBaccaratRoomState) ProtoMessage() {} func (x *SCBaccaratRoomState) ProtoReflect() protoreflect.Message { mi := &file_baccarat_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 SCBaccaratRoomState.ProtoReflect.Descriptor instead. func (*SCBaccaratRoomState) Descriptor() ([]byte, []int) { return file_baccarat_proto_rawDescGZIP(), []int{7} } func (x *SCBaccaratRoomState) GetState() int32 { if x != nil { return x.State } return 0 } func (x *SCBaccaratRoomState) GetSubState() int32 { if x != nil { return x.SubState } return 0 } func (x *SCBaccaratRoomState) GetParams() []int32 { if x != nil { return x.Params } return nil } //玩家列表 type SCBaccaratPlayerList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []*BaccaratPlayerData `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` OLNum int32 `protobuf:"varint,2,opt,name=OLNum,proto3" json:"OLNum,omitempty"` //在线人数 } func (x *SCBaccaratPlayerList) Reset() { *x = SCBaccaratPlayerList{} if protoimpl.UnsafeEnabled { mi := &file_baccarat_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCBaccaratPlayerList) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCBaccaratPlayerList) ProtoMessage() {} func (x *SCBaccaratPlayerList) ProtoReflect() protoreflect.Message { mi := &file_baccarat_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 SCBaccaratPlayerList.ProtoReflect.Descriptor instead. func (*SCBaccaratPlayerList) Descriptor() ([]byte, []int) { return file_baccarat_proto_rawDescGZIP(), []int{8} } func (x *SCBaccaratPlayerList) GetData() []*BaccaratPlayerData { if x != nil { return x.Data } return nil } func (x *SCBaccaratPlayerList) GetOLNum() int32 { if x != nil { return x.OLNum } return 0 } // type BaccaratBill struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"` //玩家ID Coin int64 `protobuf:"varint,2,opt,name=Coin,proto3" json:"Coin,omitempty"` //总金币 GainCoin int64 `protobuf:"varint,3,opt,name=GainCoin,proto3" json:"GainCoin,omitempty"` //输赢的金币 } func (x *BaccaratBill) Reset() { *x = BaccaratBill{} if protoimpl.UnsafeEnabled { mi := &file_baccarat_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BaccaratBill) String() string { return protoimpl.X.MessageStringOf(x) } func (*BaccaratBill) ProtoMessage() {} func (x *BaccaratBill) ProtoReflect() protoreflect.Message { mi := &file_baccarat_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 BaccaratBill.ProtoReflect.Descriptor instead. func (*BaccaratBill) Descriptor() ([]byte, []int) { return file_baccarat_proto_rawDescGZIP(), []int{9} } func (x *BaccaratBill) GetSnId() int32 { if x != nil { return x.SnId } return 0 } func (x *BaccaratBill) GetCoin() int64 { if x != nil { return x.Coin } return 0 } func (x *BaccaratBill) GetGainCoin() int64 { if x != nil { return x.GainCoin } return 0 } //大赢家 type BaccaratBigWinner struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,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"` //头像 HeadOutLine int32 `protobuf:"varint,4,opt,name=HeadOutLine,proto3" json:"HeadOutLine,omitempty"` //头像框 VIP int32 `protobuf:"varint,5,opt,name=VIP,proto3" json:"VIP,omitempty"` Sex int32 `protobuf:"varint,6,opt,name=Sex,proto3" json:"Sex,omitempty"` //性别 Coin int64 `protobuf:"varint,7,opt,name=Coin,proto3" json:"Coin,omitempty"` //金币 GainCoin int32 `protobuf:"varint,8,opt,name=GainCoin,proto3" json:"GainCoin,omitempty"` //本局赢的钱 City string `protobuf:"bytes,9,opt,name=City,proto3" json:"City,omitempty"` //城市 } func (x *BaccaratBigWinner) Reset() { *x = BaccaratBigWinner{} if protoimpl.UnsafeEnabled { mi := &file_baccarat_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BaccaratBigWinner) String() string { return protoimpl.X.MessageStringOf(x) } func (*BaccaratBigWinner) ProtoMessage() {} func (x *BaccaratBigWinner) ProtoReflect() protoreflect.Message { mi := &file_baccarat_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 BaccaratBigWinner.ProtoReflect.Descriptor instead. func (*BaccaratBigWinner) Descriptor() ([]byte, []int) { return file_baccarat_proto_rawDescGZIP(), []int{10} } func (x *BaccaratBigWinner) GetSnId() int32 { if x != nil { return x.SnId } return 0 } func (x *BaccaratBigWinner) GetName() string { if x != nil { return x.Name } return "" } func (x *BaccaratBigWinner) GetHead() int32 { if x != nil { return x.Head } return 0 } func (x *BaccaratBigWinner) GetHeadOutLine() int32 { if x != nil { return x.HeadOutLine } return 0 } func (x *BaccaratBigWinner) GetVIP() int32 { if x != nil { return x.VIP } return 0 } func (x *BaccaratBigWinner) GetSex() int32 { if x != nil { return x.Sex } return 0 } func (x *BaccaratBigWinner) GetCoin() int64 { if x != nil { return x.Coin } return 0 } func (x *BaccaratBigWinner) GetGainCoin() int32 { if x != nil { return x.GainCoin } return 0 } func (x *BaccaratBigWinner) GetCity() string { if x != nil { return x.City } return "" } //结算 type SCBaccaratBilled struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields BillData []*BaccaratBill `protobuf:"bytes,1,rep,name=BillData,proto3" json:"BillData,omitempty"` //8个位置的结算数据 BigWinner *BaccaratBigWinner `protobuf:"bytes,2,opt,name=BigWinner,proto3" json:"BigWinner,omitempty"` //大赢家数据 LoopNum int32 `protobuf:"varint,3,opt,name=LoopNum,proto3" json:"LoopNum,omitempty"` // 后台控制结算结果时使用 } func (x *SCBaccaratBilled) Reset() { *x = SCBaccaratBilled{} if protoimpl.UnsafeEnabled { mi := &file_baccarat_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCBaccaratBilled) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCBaccaratBilled) ProtoMessage() {} func (x *SCBaccaratBilled) ProtoReflect() protoreflect.Message { mi := &file_baccarat_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 SCBaccaratBilled.ProtoReflect.Descriptor instead. func (*SCBaccaratBilled) Descriptor() ([]byte, []int) { return file_baccarat_proto_rawDescGZIP(), []int{11} } func (x *SCBaccaratBilled) GetBillData() []*BaccaratBill { if x != nil { return x.BillData } return nil } func (x *SCBaccaratBilled) GetBigWinner() *BaccaratBigWinner { if x != nil { return x.BigWinner } return nil } func (x *SCBaccaratBilled) GetLoopNum() int32 { if x != nil { return x.LoopNum } return 0 } type BaccaratBetInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"` //座位上的人ID TotalChips []int64 `protobuf:"varint,2,rep,packed,name=TotalChips,proto3" json:"TotalChips,omitempty"` //3个区域内的筹码总额 和,龙,虎 } func (x *BaccaratBetInfo) Reset() { *x = BaccaratBetInfo{} if protoimpl.UnsafeEnabled { mi := &file_baccarat_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BaccaratBetInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*BaccaratBetInfo) ProtoMessage() {} func (x *BaccaratBetInfo) ProtoReflect() protoreflect.Message { mi := &file_baccarat_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 BaccaratBetInfo.ProtoReflect.Descriptor instead. func (*BaccaratBetInfo) Descriptor() ([]byte, []int) { return file_baccarat_proto_rawDescGZIP(), []int{12} } func (x *BaccaratBetInfo) GetSnId() int32 { if x != nil { return x.SnId } return 0 } func (x *BaccaratBetInfo) GetTotalChips() []int64 { if x != nil { return x.TotalChips } return nil } type SCBaccaratSendBet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []*BaccaratBetInfo `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` //所有座位筹码信息 TotalChips []int64 `protobuf:"varint,2,rep,packed,name=TotalChips,proto3" json:"TotalChips,omitempty"` //3个区域内的筹码总额 和,龙,虎 } func (x *SCBaccaratSendBet) Reset() { *x = SCBaccaratSendBet{} if protoimpl.UnsafeEnabled { mi := &file_baccarat_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCBaccaratSendBet) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCBaccaratSendBet) ProtoMessage() {} func (x *SCBaccaratSendBet) ProtoReflect() protoreflect.Message { mi := &file_baccarat_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 SCBaccaratSendBet.ProtoReflect.Descriptor instead. func (*SCBaccaratSendBet) Descriptor() ([]byte, []int) { return file_baccarat_proto_rawDescGZIP(), []int{13} } func (x *SCBaccaratSendBet) GetData() []*BaccaratBetInfo { if x != nil { return x.Data } return nil } func (x *SCBaccaratSendBet) GetTotalChips() []int64 { if x != nil { return x.TotalChips } return nil } //上庄列表 type SCBaccaratBankerList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Count int32 `protobuf:"varint,1,opt,name=Count,proto3" json:"Count,omitempty"` // 数量 IsExist int32 `protobuf:"varint,2,opt,name=IsExist,proto3" json:"IsExist,omitempty"` // 玩家是否已经在上庄列表 0:不在上庄列表 1:在上庄列表 Data []*BaccaratPlayerData `protobuf:"bytes,3,rep,name=Data,proto3" json:"Data,omitempty"` // 上庄列表 } func (x *SCBaccaratBankerList) Reset() { *x = SCBaccaratBankerList{} if protoimpl.UnsafeEnabled { mi := &file_baccarat_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCBaccaratBankerList) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCBaccaratBankerList) ProtoMessage() {} func (x *SCBaccaratBankerList) ProtoReflect() protoreflect.Message { mi := &file_baccarat_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 SCBaccaratBankerList.ProtoReflect.Descriptor instead. func (*SCBaccaratBankerList) Descriptor() ([]byte, []int) { return file_baccarat_proto_rawDescGZIP(), []int{14} } func (x *SCBaccaratBankerList) GetCount() int32 { if x != nil { return x.Count } return 0 } func (x *SCBaccaratBankerList) GetIsExist() int32 { if x != nil { return x.IsExist } return 0 } func (x *SCBaccaratBankerList) GetData() []*BaccaratPlayerData { if x != nil { return x.Data } return nil } var File_baccarat_proto protoreflect.FileDescriptor var file_baccarat_proto_rawDesc = []byte{ 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x62, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x22, 0xd8, 0x02, 0x0a, 0x12, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x53, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x4c, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x32, 0x30, 0x57, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x4c, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x32, 0x30, 0x57, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4c, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x32, 0x30, 0x42, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x4c, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x32, 0x30, 0x42, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x18, 0x0c, 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, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x56, 0x49, 0x50, 0x12, 0x16, 0x0a, 0x06, 0x4e, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4e, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x0d, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x43, 0x68, 0x69, 0x70, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x68, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x68, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x58, 0x0a, 0x11, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x68, 0x69, 0x70, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x5a, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x43, 0x68, 0x69, 0x70, 0x73, 0x52, 0x06, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0xcb, 0x05, 0x0a, 0x12, 0x53, 0x43, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 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, 0x18, 0x0a, 0x07, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 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, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x6f, 0x64, 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, 0x1e, 0x0a, 0x0a, 0x4e, 0x75, 0x6d, 0x4f, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4e, 0x75, 0x6d, 0x4f, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x75, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x75, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x62, 0x61, 0x6e, 0x64, 0x47, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x44, 0x69, 0x73, 0x62, 0x61, 0x6e, 0x64, 0x47, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x78, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x68, 0x69, 0x70, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0a, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x68, 0x69, 0x70, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x4d, 0x79, 0x43, 0x68, 0x69, 0x70, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x62, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x68, 0x69, 0x70, 0x73, 0x52, 0x07, 0x4d, 0x79, 0x43, 0x68, 0x69, 0x70, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x72, 0x65, 0x6e, 0x64, 0x31, 0x30, 0x30, 0x43, 0x75, 0x72, 0x18, 0x12, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x54, 0x72, 0x65, 0x6e, 0x64, 0x31, 0x30, 0x30, 0x43, 0x75, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x65, 0x6e, 0x64, 0x32, 0x30, 0x4c, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x18, 0x13, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x54, 0x72, 0x65, 0x6e, 0x64, 0x32, 0x30, 0x4c, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x4c, 0x4e, 0x75, 0x6d, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4f, 0x4c, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x6f, 0x70, 0x4e, 0x75, 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4c, 0x6f, 0x6f, 0x70, 0x4e, 0x75, 0x6d, 0x22, 0x7d, 0x0a, 0x0f, 0x53, 0x43, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x53, 0x65, 0x61, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 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, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x22, 0x3e, 0x0a, 0x0c, 0x43, 0x53, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x4f, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x88, 0x01, 0x0a, 0x0c, 0x53, 0x43, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x4f, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x34, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x62, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x5f, 0x0a, 0x13, 0x53, 0x43, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 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, 0x22, 0x5e, 0x0a, 0x14, 0x53, 0x43, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x4c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4f, 0x4c, 0x4e, 0x75, 0x6d, 0x22, 0x52, 0x0a, 0x0c, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x47, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0xd9, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x42, 0x69, 0x67, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x18, 0x04, 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, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x56, 0x49, 0x50, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x53, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x69, 0x74, 0x79, 0x22, 0x9b, 0x01, 0x0a, 0x10, 0x53, 0x43, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x08, 0x42, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x62, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x52, 0x08, 0x42, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x39, 0x0a, 0x09, 0x42, 0x69, 0x67, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x62, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x42, 0x69, 0x67, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x42, 0x69, 0x67, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x6f, 0x70, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4c, 0x6f, 0x6f, 0x70, 0x4e, 0x75, 0x6d, 0x22, 0x45, 0x0a, 0x0f, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x42, 0x65, 0x74, 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, 0x1e, 0x0a, 0x0a, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x68, 0x69, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0a, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x68, 0x69, 0x70, 0x73, 0x22, 0x62, 0x0a, 0x11, 0x53, 0x43, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x42, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x42, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x68, 0x69, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0a, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x68, 0x69, 0x70, 0x73, 0x22, 0x78, 0x0a, 0x14, 0x53, 0x43, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x49, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x2a, 0xe1, 0x02, 0x0a, 0x10, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x42, 0x41, 0x43, 0x43, 0x41, 0x52, 0x41, 0x54, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x42, 0x41, 0x43, 0x43, 0x41, 0x52, 0x41, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x80, 0x28, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x42, 0x41, 0x43, 0x43, 0x41, 0x52, 0x41, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4f, 0x50, 0x10, 0x81, 0x28, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x42, 0x41, 0x43, 0x43, 0x41, 0x52, 0x41, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4f, 0x50, 0x10, 0x82, 0x28, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x42, 0x41, 0x43, 0x43, 0x41, 0x52, 0x41, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x83, 0x28, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x42, 0x41, 0x43, 0x43, 0x41, 0x52, 0x41, 0x54, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x42, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x84, 0x28, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x42, 0x41, 0x43, 0x43, 0x41, 0x52, 0x41, 0x54, 0x5f, 0x53, 0x45, 0x41, 0x54, 0x53, 0x10, 0x85, 0x28, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x42, 0x41, 0x43, 0x43, 0x41, 0x52, 0x41, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x86, 0x28, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x42, 0x41, 0x43, 0x43, 0x41, 0x52, 0x41, 0x54, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x42, 0x45, 0x54, 0x10, 0x87, 0x28, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x42, 0x41, 0x43, 0x43, 0x41, 0x52, 0x41, 0x54, 0x5f, 0x42, 0x41, 0x4e, 0x4b, 0x45, 0x52, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x88, 0x28, 0x2a, 0xa4, 0x03, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x5f, 0x45, 0x61, 0x63, 0x68, 0x42, 0x65, 0x74, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xd8, 0x36, 0x12, 0x27, 0x0a, 0x22, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x5f, 0x59, 0x6f, 0x75, 0x48, 0x61, 0x64, 0x42, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x10, 0xd9, 0x36, 0x12, 0x2a, 0x0a, 0x25, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x5f, 0x59, 0x6f, 0x75, 0x48, 0x61, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x10, 0xda, 0x36, 0x12, 0x28, 0x0a, 0x23, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x4d, 0x75, 0x73, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x54, 0x68, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x10, 0xdd, 0x36, 0x12, 0x22, 0x0a, 0x1d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x49, 0x73, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xde, 0x36, 0x12, 0x20, 0x0a, 0x1b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x5f, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xdf, 0x36, 0x12, 0x1e, 0x0a, 0x19, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x5f, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xe0, 0x36, 0x12, 0x23, 0x0a, 0x1e, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x5f, 0x4e, 0x6f, 0x74, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xe1, 0x36, 0x12, 0x22, 0x0a, 0x1d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x5f, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x42, 0x65, 0x74, 0x10, 0xe2, 0x36, 0x12, 0x23, 0x0a, 0x1e, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x5f, 0x53, 0x65, 0x6c, 0x66, 0x42, 0x65, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x10, 0xe3, 0x36, 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, 0x62, 0x61, 0x63, 0x63, 0x61, 0x72, 0x61, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_baccarat_proto_rawDescOnce sync.Once file_baccarat_proto_rawDescData = file_baccarat_proto_rawDesc ) func file_baccarat_proto_rawDescGZIP() []byte { file_baccarat_proto_rawDescOnce.Do(func() { file_baccarat_proto_rawDescData = protoimpl.X.CompressGZIP(file_baccarat_proto_rawDescData) }) return file_baccarat_proto_rawDescData } var file_baccarat_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_baccarat_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_baccarat_proto_goTypes = []interface{}{ (BaccaratPacketID)(0), // 0: baccarat.BaccaratPacketID (OpResultCode)(0), // 1: baccarat.OpResultCode (*BaccaratPlayerData)(nil), // 2: baccarat.BaccaratPlayerData (*BaccaratChips)(nil), // 3: baccarat.BaccaratChips (*BaccaratZoneChips)(nil), // 4: baccarat.BaccaratZoneChips (*SCBaccaratRoomInfo)(nil), // 5: baccarat.SCBaccaratRoomInfo (*SCBaccaratSeats)(nil), // 6: baccarat.SCBaccaratSeats (*CSBaccaratOp)(nil), // 7: baccarat.CSBaccaratOp (*SCBaccaratOp)(nil), // 8: baccarat.SCBaccaratOp (*SCBaccaratRoomState)(nil), // 9: baccarat.SCBaccaratRoomState (*SCBaccaratPlayerList)(nil), // 10: baccarat.SCBaccaratPlayerList (*BaccaratBill)(nil), // 11: baccarat.BaccaratBill (*BaccaratBigWinner)(nil), // 12: baccarat.BaccaratBigWinner (*SCBaccaratBilled)(nil), // 13: baccarat.SCBaccaratBilled (*BaccaratBetInfo)(nil), // 14: baccarat.BaccaratBetInfo (*SCBaccaratSendBet)(nil), // 15: baccarat.SCBaccaratSendBet (*SCBaccaratBankerList)(nil), // 16: baccarat.SCBaccaratBankerList } var file_baccarat_proto_depIdxs = []int32{ 3, // 0: baccarat.BaccaratZoneChips.Detail:type_name -> baccarat.BaccaratChips 2, // 1: baccarat.SCBaccaratRoomInfo.Players:type_name -> baccarat.BaccaratPlayerData 4, // 2: baccarat.SCBaccaratRoomInfo.MyChips:type_name -> baccarat.BaccaratZoneChips 2, // 3: baccarat.SCBaccaratSeats.Data:type_name -> baccarat.BaccaratPlayerData 1, // 4: baccarat.SCBaccaratOp.OpRetCode:type_name -> baccarat.OpResultCode 2, // 5: baccarat.SCBaccaratPlayerList.Data:type_name -> baccarat.BaccaratPlayerData 11, // 6: baccarat.SCBaccaratBilled.BillData:type_name -> baccarat.BaccaratBill 12, // 7: baccarat.SCBaccaratBilled.BigWinner:type_name -> baccarat.BaccaratBigWinner 14, // 8: baccarat.SCBaccaratSendBet.Data:type_name -> baccarat.BaccaratBetInfo 2, // 9: baccarat.SCBaccaratBankerList.Data:type_name -> baccarat.BaccaratPlayerData 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name 10, // [10:10] is the sub-list for extension extendee 0, // [0:10] is the sub-list for field type_name } func init() { file_baccarat_proto_init() } func file_baccarat_proto_init() { if File_baccarat_proto != nil { return } if !protoimpl.UnsafeEnabled { file_baccarat_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BaccaratPlayerData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_baccarat_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BaccaratChips); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_baccarat_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BaccaratZoneChips); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_baccarat_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCBaccaratRoomInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_baccarat_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCBaccaratSeats); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_baccarat_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSBaccaratOp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_baccarat_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCBaccaratOp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_baccarat_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCBaccaratRoomState); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_baccarat_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCBaccaratPlayerList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_baccarat_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BaccaratBill); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_baccarat_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BaccaratBigWinner); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_baccarat_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCBaccaratBilled); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_baccarat_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BaccaratBetInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_baccarat_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCBaccaratSendBet); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_baccarat_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCBaccaratBankerList); 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_baccarat_proto_rawDesc, NumEnums: 2, NumMessages: 15, NumExtensions: 0, NumServices: 0, }, GoTypes: file_baccarat_proto_goTypes, DependencyIndexes: file_baccarat_proto_depIdxs, EnumInfos: file_baccarat_proto_enumTypes, MessageInfos: file_baccarat_proto_msgTypes, }.Build() File_baccarat_proto = out.File file_baccarat_proto_rawDesc = nil file_baccarat_proto_goTypes = nil file_baccarat_proto_depIdxs = nil }