game_sync/protocol/caishen/caishen.pb.go

1627 lines
58 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: caishen.proto
package caishen
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 int32
const (
OpResultCode_OPRC_Sucess OpResultCode = 0 //成功
OpResultCode_OPRC_Error OpResultCode = 1 //失败
OpResultCode_OPRC_CoinNotEnough OpResultCode = 1056 //钱不够
)
// Enum value maps for OpResultCode.
var (
OpResultCode_name = map[int32]string{
0: "OPRC_Sucess",
1: "OPRC_Error",
1056: "OPRC_CoinNotEnough",
}
OpResultCode_value = map[string]int32{
"OPRC_Sucess": 0,
"OPRC_Error": 1,
"OPRC_CoinNotEnough": 1056,
}
)
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_caishen_proto_enumTypes[0].Descriptor()
}
func (OpResultCode) Type() protoreflect.EnumType {
return &file_caishen_proto_enumTypes[0]
}
func (x OpResultCode) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use OpResultCode.Descriptor instead.
func (OpResultCode) EnumDescriptor() ([]byte, []int) {
return file_caishen_proto_rawDescGZIP(), []int{0}
}
//财神
type CaiShenPacketID int32
const (
CaiShenPacketID_PACKET_CaiShen_ZERO CaiShenPacketID = 0 //弃用消息号
CaiShenPacketID_PACKET_SC_CAISHEN_ROOMINFO CaiShenPacketID = 5220 //房间信息
CaiShenPacketID_PACKET_CS_CAISHEN_PLAYEROP CaiShenPacketID = 5221 //玩家操作(客户->服务)
CaiShenPacketID_PACKET_SC_CAISHEN_PLAYEROP CaiShenPacketID = 5222 //玩家操作(服务->客户)
CaiShenPacketID_PACKET_SC_CAISHEN_ROOMSTATE CaiShenPacketID = 5223 //房间状态
CaiShenPacketID_PACKET_SC_CAISHEN_GAMEBILLED CaiShenPacketID = 5224 //游戏结算
CaiShenPacketID_PACKET_SC_CAISHEN_PLAYERHISTORY CaiShenPacketID = 5225 //游戏记录
CaiShenPacketID_PACKET_SC_CAISHEN_BURSTHISTORY CaiShenPacketID = 5226 //爆奖记录
CaiShenPacketID_PACKET_SC_CAISHEN_GAMEJACKPOT CaiShenPacketID = 5227 //奖池
)
// Enum value maps for CaiShenPacketID.
var (
CaiShenPacketID_name = map[int32]string{
0: "PACKET_CaiShen_ZERO",
5220: "PACKET_SC_CAISHEN_ROOMINFO",
5221: "PACKET_CS_CAISHEN_PLAYEROP",
5222: "PACKET_SC_CAISHEN_PLAYEROP",
5223: "PACKET_SC_CAISHEN_ROOMSTATE",
5224: "PACKET_SC_CAISHEN_GAMEBILLED",
5225: "PACKET_SC_CAISHEN_PLAYERHISTORY",
5226: "PACKET_SC_CAISHEN_BURSTHISTORY",
5227: "PACKET_SC_CAISHEN_GAMEJACKPOT",
}
CaiShenPacketID_value = map[string]int32{
"PACKET_CaiShen_ZERO": 0,
"PACKET_SC_CAISHEN_ROOMINFO": 5220,
"PACKET_CS_CAISHEN_PLAYEROP": 5221,
"PACKET_SC_CAISHEN_PLAYEROP": 5222,
"PACKET_SC_CAISHEN_ROOMSTATE": 5223,
"PACKET_SC_CAISHEN_GAMEBILLED": 5224,
"PACKET_SC_CAISHEN_PLAYERHISTORY": 5225,
"PACKET_SC_CAISHEN_BURSTHISTORY": 5226,
"PACKET_SC_CAISHEN_GAMEJACKPOT": 5227,
}
)
func (x CaiShenPacketID) Enum() *CaiShenPacketID {
p := new(CaiShenPacketID)
*p = x
return p
}
func (x CaiShenPacketID) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (CaiShenPacketID) Descriptor() protoreflect.EnumDescriptor {
return file_caishen_proto_enumTypes[1].Descriptor()
}
func (CaiShenPacketID) Type() protoreflect.EnumType {
return &file_caishen_proto_enumTypes[1]
}
func (x CaiShenPacketID) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use CaiShenPacketID.Descriptor instead.
func (CaiShenPacketID) EnumDescriptor() ([]byte, []int) {
return file_caishen_proto_rawDescGZIP(), []int{1}
}
type CaiShenPlayerData 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"` //金币
HeadOutLine int32 `protobuf:"varint,6,opt,name=HeadOutLine,proto3" json:"HeadOutLine,omitempty"` //头像框
VIP int32 `protobuf:"varint,7,opt,name=VIP,proto3" json:"VIP,omitempty"`
Params []string `protobuf:"bytes,8,rep,name=Params,proto3" json:"Params,omitempty"` //其他数据 如:ip 等
}
func (x *CaiShenPlayerData) Reset() {
*x = CaiShenPlayerData{}
if protoimpl.UnsafeEnabled {
mi := &file_caishen_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CaiShenPlayerData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CaiShenPlayerData) ProtoMessage() {}
func (x *CaiShenPlayerData) ProtoReflect() protoreflect.Message {
mi := &file_caishen_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 CaiShenPlayerData.ProtoReflect.Descriptor instead.
func (*CaiShenPlayerData) Descriptor() ([]byte, []int) {
return file_caishen_proto_rawDescGZIP(), []int{0}
}
func (x *CaiShenPlayerData) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CaiShenPlayerData) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *CaiShenPlayerData) GetHead() int32 {
if x != nil {
return x.Head
}
return 0
}
func (x *CaiShenPlayerData) GetSex() int32 {
if x != nil {
return x.Sex
}
return 0
}
func (x *CaiShenPlayerData) GetCoin() int64 {
if x != nil {
return x.Coin
}
return 0
}
func (x *CaiShenPlayerData) GetHeadOutLine() int32 {
if x != nil {
return x.HeadOutLine
}
return 0
}
func (x *CaiShenPlayerData) GetVIP() int32 {
if x != nil {
return x.VIP
}
return 0
}
func (x *CaiShenPlayerData) GetParams() []string {
if x != nil {
return x.Params
}
return nil
}
//小游戏信息
type CaiShenBonusGameInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BonusData []int64 `protobuf:"varint,1,rep,packed,name=BonusData,proto3" json:"BonusData,omitempty"`
TotalPrizeValue int64 `protobuf:"varint,2,opt,name=TotalPrizeValue,proto3" json:"TotalPrizeValue,omitempty"`
Mutiplier int32 `protobuf:"varint,3,opt,name=Mutiplier,proto3" json:"Mutiplier,omitempty"`
DataMultiplier int64 `protobuf:"varint,4,opt,name=DataMultiplier,proto3" json:"DataMultiplier,omitempty"`
}
func (x *CaiShenBonusGameInfo) Reset() {
*x = CaiShenBonusGameInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_caishen_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CaiShenBonusGameInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CaiShenBonusGameInfo) ProtoMessage() {}
func (x *CaiShenBonusGameInfo) ProtoReflect() protoreflect.Message {
mi := &file_caishen_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 CaiShenBonusGameInfo.ProtoReflect.Descriptor instead.
func (*CaiShenBonusGameInfo) Descriptor() ([]byte, []int) {
return file_caishen_proto_rawDescGZIP(), []int{1}
}
func (x *CaiShenBonusGameInfo) GetBonusData() []int64 {
if x != nil {
return x.BonusData
}
return nil
}
func (x *CaiShenBonusGameInfo) GetTotalPrizeValue() int64 {
if x != nil {
return x.TotalPrizeValue
}
return 0
}
func (x *CaiShenBonusGameInfo) GetMutiplier() int32 {
if x != nil {
return x.Mutiplier
}
return 0
}
func (x *CaiShenBonusGameInfo) GetDataMultiplier() int64 {
if x != nil {
return x.DataMultiplier
}
return 0
}
//房间信息
type SCCaiShenRoomInfo 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"` //规则参数
State int32 `protobuf:"varint,6,opt,name=State,proto3" json:"State,omitempty"` //房间当前状态
BetLines []int64 `protobuf:"varint,7,rep,packed,name=BetLines,proto3" json:"BetLines,omitempty"` //玩家下注选线数组
Chip int32 `protobuf:"varint,8,opt,name=Chip,proto3" json:"Chip,omitempty"` //当前选择的押注
Players []*CaiShenPlayerData `protobuf:"bytes,9,rep,name=Players,proto3" json:"Players,omitempty"` //房间内的玩家信息
FreeTimes int32 `protobuf:"varint,10,opt,name=FreeTimes,proto3" json:"FreeTimes,omitempty"` //免费转动次数
Jackpot int64 `protobuf:"varint,11,opt,name=Jackpot,proto3" json:"Jackpot,omitempty"` //奖池金额
TotalPriceBonus int64 `protobuf:"varint,12,opt,name=TotalPriceBonus,proto3" json:"TotalPriceBonus,omitempty"` //总bonus分 大于0时代表小游戏还未结束
SpinID int64 `protobuf:"varint,13,opt,name=SpinID,proto3" json:"SpinID,omitempty"` //操作ID
ParamsEx []int32 `protobuf:"varint,14,rep,packed,name=ParamsEx,proto3" json:"ParamsEx,omitempty"` //其他参数
BonusGame *CaiShenBonusGameInfo `protobuf:"bytes,15,opt,name=BonusGame,proto3" json:"BonusGame,omitempty"` //小游戏未结束 附加小游戏信息
BonusX []int32 `protobuf:"varint,16,rep,packed,name=BonusX,proto3" json:"BonusX,omitempty"` //小游戏未结束 附加小游戏倍数选项Bonus图标的数量为3/4/5时分别为 1,2,3 或 2,3,4 或 3,4,5
GameFreeId int32 `protobuf:"varint,17,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"`
BilledData *GameBilledData `protobuf:"bytes,18,opt,name=BilledData,proto3" json:"BilledData,omitempty"` //结算信息
}
func (x *SCCaiShenRoomInfo) Reset() {
*x = SCCaiShenRoomInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_caishen_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCCaiShenRoomInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCCaiShenRoomInfo) ProtoMessage() {}
func (x *SCCaiShenRoomInfo) ProtoReflect() protoreflect.Message {
mi := &file_caishen_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 SCCaiShenRoomInfo.ProtoReflect.Descriptor instead.
func (*SCCaiShenRoomInfo) Descriptor() ([]byte, []int) {
return file_caishen_proto_rawDescGZIP(), []int{2}
}
func (x *SCCaiShenRoomInfo) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *SCCaiShenRoomInfo) GetCreator() int32 {
if x != nil {
return x.Creator
}
return 0
}
func (x *SCCaiShenRoomInfo) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *SCCaiShenRoomInfo) GetRoomMode() int32 {
if x != nil {
return x.RoomMode
}
return 0
}
func (x *SCCaiShenRoomInfo) GetParams() []int32 {
if x != nil {
return x.Params
}
return nil
}
func (x *SCCaiShenRoomInfo) GetState() int32 {
if x != nil {
return x.State
}
return 0
}
func (x *SCCaiShenRoomInfo) GetBetLines() []int64 {
if x != nil {
return x.BetLines
}
return nil
}
func (x *SCCaiShenRoomInfo) GetChip() int32 {
if x != nil {
return x.Chip
}
return 0
}
func (x *SCCaiShenRoomInfo) GetPlayers() []*CaiShenPlayerData {
if x != nil {
return x.Players
}
return nil
}
func (x *SCCaiShenRoomInfo) GetFreeTimes() int32 {
if x != nil {
return x.FreeTimes
}
return 0
}
func (x *SCCaiShenRoomInfo) GetJackpot() int64 {
if x != nil {
return x.Jackpot
}
return 0
}
func (x *SCCaiShenRoomInfo) GetTotalPriceBonus() int64 {
if x != nil {
return x.TotalPriceBonus
}
return 0
}
func (x *SCCaiShenRoomInfo) GetSpinID() int64 {
if x != nil {
return x.SpinID
}
return 0
}
func (x *SCCaiShenRoomInfo) GetParamsEx() []int32 {
if x != nil {
return x.ParamsEx
}
return nil
}
func (x *SCCaiShenRoomInfo) GetBonusGame() *CaiShenBonusGameInfo {
if x != nil {
return x.BonusGame
}
return nil
}
func (x *SCCaiShenRoomInfo) GetBonusX() []int32 {
if x != nil {
return x.BonusX
}
return nil
}
func (x *SCCaiShenRoomInfo) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *SCCaiShenRoomInfo) GetBilledData() *GameBilledData {
if x != nil {
return x.BilledData
}
return nil
}
//玩家操作
type CSCaiShenOp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpCode int32 `protobuf:"varint,1,opt,name=OpCode,proto3" json:"OpCode,omitempty"` //操作码 0:开始{0押注倍数,1-n选线} 1:玩家记录信息 2:爆奖记录 3:小游戏 4:小游戏操作记录
Params []int64 `protobuf:"varint,2,rep,packed,name=Params,proto3" json:"Params,omitempty"` //操作参数
}
func (x *CSCaiShenOp) Reset() {
*x = CSCaiShenOp{}
if protoimpl.UnsafeEnabled {
mi := &file_caishen_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSCaiShenOp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSCaiShenOp) ProtoMessage() {}
func (x *CSCaiShenOp) ProtoReflect() protoreflect.Message {
mi := &file_caishen_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 CSCaiShenOp.ProtoReflect.Descriptor instead.
func (*CSCaiShenOp) Descriptor() ([]byte, []int) {
return file_caishen_proto_rawDescGZIP(), []int{3}
}
func (x *CSCaiShenOp) GetOpCode() int32 {
if x != nil {
return x.OpCode
}
return 0
}
func (x *CSCaiShenOp) GetParams() []int64 {
if x != nil {
return x.Params
}
return nil
}
//玩家操作返回
type SCCaiShenOp 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=caishen.OpResultCode" json:"OpRetCode,omitempty"` //操作结果
}
func (x *SCCaiShenOp) Reset() {
*x = SCCaiShenOp{}
if protoimpl.UnsafeEnabled {
mi := &file_caishen_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCCaiShenOp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCCaiShenOp) ProtoMessage() {}
func (x *SCCaiShenOp) ProtoReflect() protoreflect.Message {
mi := &file_caishen_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 SCCaiShenOp.ProtoReflect.Descriptor instead.
func (*SCCaiShenOp) Descriptor() ([]byte, []int) {
return file_caishen_proto_rawDescGZIP(), []int{4}
}
func (x *SCCaiShenOp) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *SCCaiShenOp) GetOpCode() int32 {
if x != nil {
return x.OpCode
}
return 0
}
func (x *SCCaiShenOp) GetParams() []int64 {
if x != nil {
return x.Params
}
return nil
}
func (x *SCCaiShenOp) GetOpRetCode() OpResultCode {
if x != nil {
return x.OpRetCode
}
return OpResultCode_OPRC_Sucess
}
//每条线的结算数据
type CaiShenLinesInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LineId int32 `protobuf:"varint,1,opt,name=LineId,proto3" json:"LineId,omitempty"` //中奖线路25条线路中的一条[1,25]
PrizeId int32 `protobuf:"varint,2,opt,name=PrizeId,proto3" json:"PrizeId,omitempty"` //中奖Id(暂时忽略)
Position []int32 `protobuf:"varint,3,rep,packed,name=Position,proto3" json:"Position,omitempty"` //线条匹配位置
PrizeValue int64 `protobuf:"varint,4,opt,name=PrizeValue,proto3" json:"PrizeValue,omitempty"` //线条奖金
}
func (x *CaiShenLinesInfo) Reset() {
*x = CaiShenLinesInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_caishen_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CaiShenLinesInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CaiShenLinesInfo) ProtoMessage() {}
func (x *CaiShenLinesInfo) ProtoReflect() protoreflect.Message {
mi := &file_caishen_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 CaiShenLinesInfo.ProtoReflect.Descriptor instead.
func (*CaiShenLinesInfo) Descriptor() ([]byte, []int) {
return file_caishen_proto_rawDescGZIP(), []int{5}
}
func (x *CaiShenLinesInfo) GetLineId() int32 {
if x != nil {
return x.LineId
}
return 0
}
func (x *CaiShenLinesInfo) GetPrizeId() int32 {
if x != nil {
return x.PrizeId
}
return 0
}
func (x *CaiShenLinesInfo) GetPosition() []int32 {
if x != nil {
return x.Position
}
return nil
}
func (x *CaiShenLinesInfo) GetPrizeValue() int64 {
if x != nil {
return x.PrizeValue
}
return 0
}
type GameBilledData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SpinID int64 `protobuf:"varint,1,opt,name=SpinID,proto3" json:"SpinID,omitempty"` //操作ID
SlotsData []int32 `protobuf:"varint,2,rep,packed,name=SlotsData,proto3" json:"SlotsData,omitempty"` //需要翻出的牌数组15个,如:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2, 3, 4, 5, 6]
AddFreeSpin int32 `protobuf:"varint,3,opt,name=AddFreeSpin,proto3" json:"AddFreeSpin,omitempty"` //新增免费转动次数
IsJackpot bool `protobuf:"varint,4,opt,name=IsJackpot,proto3" json:"IsJackpot,omitempty"` //是否爆奖
PrizeLines []*CaiShenLinesInfo `protobuf:"bytes,5,rep,name=PrizeLines,proto3" json:"PrizeLines,omitempty"` //中奖的结果数组,存每条线的情况
TotalPrizeValue int64 `protobuf:"varint,6,opt,name=TotalPrizeValue,proto3" json:"TotalPrizeValue,omitempty"` //中奖的总分数
TotalPaylinePrizeValue int64 `protobuf:"varint,7,opt,name=TotalPaylinePrizeValue,proto3" json:"TotalPaylinePrizeValue,omitempty"` //除了爆奖金额之外的线条奖金
TotalJackpotValue int64 `protobuf:"varint,8,opt,name=TotalJackpotValue,proto3" json:"TotalJackpotValue,omitempty"` //爆奖金额
Balance int64 `protobuf:"varint,9,opt,name=Balance,proto3" json:"Balance,omitempty"` //玩家余额
FreeSpins int32 `protobuf:"varint,10,opt,name=FreeSpins,proto3" json:"FreeSpins,omitempty"` //剩余免费转动次数
Jackpot int64 `protobuf:"varint,11,opt,name=Jackpot,proto3" json:"Jackpot,omitempty"` //奖池金额
BonusX []int32 `protobuf:"varint,12,rep,packed,name=BonusX,proto3" json:"BonusX,omitempty"` //小游戏倍数Bonus图标的数量为3/4/5时分别为 1,2,3 或 2,3,4 或 3,4,5
BonusGame *CaiShenBonusGameInfo `protobuf:"bytes,13,opt,name=BonusGame,proto3" json:"BonusGame,omitempty"` //Bonus的数量大于等于3时的小游戏
ResponseStatus int64 `protobuf:"varint,14,opt,name=ResponseStatus,proto3" json:"ResponseStatus,omitempty"` //状态码
}
func (x *GameBilledData) Reset() {
*x = GameBilledData{}
if protoimpl.UnsafeEnabled {
mi := &file_caishen_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GameBilledData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameBilledData) ProtoMessage() {}
func (x *GameBilledData) ProtoReflect() protoreflect.Message {
mi := &file_caishen_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 GameBilledData.ProtoReflect.Descriptor instead.
func (*GameBilledData) Descriptor() ([]byte, []int) {
return file_caishen_proto_rawDescGZIP(), []int{6}
}
func (x *GameBilledData) GetSpinID() int64 {
if x != nil {
return x.SpinID
}
return 0
}
func (x *GameBilledData) GetSlotsData() []int32 {
if x != nil {
return x.SlotsData
}
return nil
}
func (x *GameBilledData) GetAddFreeSpin() int32 {
if x != nil {
return x.AddFreeSpin
}
return 0
}
func (x *GameBilledData) GetIsJackpot() bool {
if x != nil {
return x.IsJackpot
}
return false
}
func (x *GameBilledData) GetPrizeLines() []*CaiShenLinesInfo {
if x != nil {
return x.PrizeLines
}
return nil
}
func (x *GameBilledData) GetTotalPrizeValue() int64 {
if x != nil {
return x.TotalPrizeValue
}
return 0
}
func (x *GameBilledData) GetTotalPaylinePrizeValue() int64 {
if x != nil {
return x.TotalPaylinePrizeValue
}
return 0
}
func (x *GameBilledData) GetTotalJackpotValue() int64 {
if x != nil {
return x.TotalJackpotValue
}
return 0
}
func (x *GameBilledData) GetBalance() int64 {
if x != nil {
return x.Balance
}
return 0
}
func (x *GameBilledData) GetFreeSpins() int32 {
if x != nil {
return x.FreeSpins
}
return 0
}
func (x *GameBilledData) GetJackpot() int64 {
if x != nil {
return x.Jackpot
}
return 0
}
func (x *GameBilledData) GetBonusX() []int32 {
if x != nil {
return x.BonusX
}
return nil
}
func (x *GameBilledData) GetBonusGame() *CaiShenBonusGameInfo {
if x != nil {
return x.BonusGame
}
return nil
}
func (x *GameBilledData) GetResponseStatus() int64 {
if x != nil {
return x.ResponseStatus
}
return 0
}
//发送给客户端的数据 结算
type SCCaiShenGameBilled struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BilledData *GameBilledData `protobuf:"bytes,1,opt,name=BilledData,proto3" json:"BilledData,omitempty"` //结算信息
}
func (x *SCCaiShenGameBilled) Reset() {
*x = SCCaiShenGameBilled{}
if protoimpl.UnsafeEnabled {
mi := &file_caishen_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCCaiShenGameBilled) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCCaiShenGameBilled) ProtoMessage() {}
func (x *SCCaiShenGameBilled) ProtoReflect() protoreflect.Message {
mi := &file_caishen_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 SCCaiShenGameBilled.ProtoReflect.Descriptor instead.
func (*SCCaiShenGameBilled) Descriptor() ([]byte, []int) {
return file_caishen_proto_rawDescGZIP(), []int{7}
}
func (x *SCCaiShenGameBilled) GetBilledData() *GameBilledData {
if x != nil {
return x.BilledData
}
return nil
}
// 玩家记录信息
type CaiShenPlayerHistoryInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SpinID string `protobuf:"bytes,1,opt,name=SpinID,proto3" json:"SpinID,omitempty"` // 操作id
CreatedTime int64 `protobuf:"varint,2,opt,name=CreatedTime,proto3" json:"CreatedTime,omitempty"` // 时间
TotalBetValue int64 `protobuf:"varint,3,opt,name=TotalBetValue,proto3" json:"TotalBetValue,omitempty"` // 总下注
TotalPriceValue int64 `protobuf:"varint,4,opt,name=TotalPriceValue,proto3" json:"TotalPriceValue,omitempty"` // 总赢分
IsFree bool `protobuf:"varint,5,opt,name=IsFree,proto3" json:"IsFree,omitempty"` // 是否免费
TotalBonusValue int64 `protobuf:"varint,6,opt,name=TotalBonusValue,proto3" json:"TotalBonusValue,omitempty"` // 是否免费
}
func (x *CaiShenPlayerHistoryInfo) Reset() {
*x = CaiShenPlayerHistoryInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_caishen_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CaiShenPlayerHistoryInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CaiShenPlayerHistoryInfo) ProtoMessage() {}
func (x *CaiShenPlayerHistoryInfo) ProtoReflect() protoreflect.Message {
mi := &file_caishen_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 CaiShenPlayerHistoryInfo.ProtoReflect.Descriptor instead.
func (*CaiShenPlayerHistoryInfo) Descriptor() ([]byte, []int) {
return file_caishen_proto_rawDescGZIP(), []int{8}
}
func (x *CaiShenPlayerHistoryInfo) GetSpinID() string {
if x != nil {
return x.SpinID
}
return ""
}
func (x *CaiShenPlayerHistoryInfo) GetCreatedTime() int64 {
if x != nil {
return x.CreatedTime
}
return 0
}
func (x *CaiShenPlayerHistoryInfo) GetTotalBetValue() int64 {
if x != nil {
return x.TotalBetValue
}
return 0
}
func (x *CaiShenPlayerHistoryInfo) GetTotalPriceValue() int64 {
if x != nil {
return x.TotalPriceValue
}
return 0
}
func (x *CaiShenPlayerHistoryInfo) GetIsFree() bool {
if x != nil {
return x.IsFree
}
return false
}
func (x *CaiShenPlayerHistoryInfo) GetTotalBonusValue() int64 {
if x != nil {
return x.TotalBonusValue
}
return 0
}
// 玩家记录
type SCCaiShenPlayerHistory struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PlayerHistory []*CaiShenPlayerHistoryInfo `protobuf:"bytes,1,rep,name=PlayerHistory,proto3" json:"PlayerHistory,omitempty"`
}
func (x *SCCaiShenPlayerHistory) Reset() {
*x = SCCaiShenPlayerHistory{}
if protoimpl.UnsafeEnabled {
mi := &file_caishen_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCCaiShenPlayerHistory) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCCaiShenPlayerHistory) ProtoMessage() {}
func (x *SCCaiShenPlayerHistory) ProtoReflect() protoreflect.Message {
mi := &file_caishen_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 SCCaiShenPlayerHistory.ProtoReflect.Descriptor instead.
func (*SCCaiShenPlayerHistory) Descriptor() ([]byte, []int) {
return file_caishen_proto_rawDescGZIP(), []int{9}
}
func (x *SCCaiShenPlayerHistory) GetPlayerHistory() []*CaiShenPlayerHistoryInfo {
if x != nil {
return x.PlayerHistory
}
return nil
}
// 大奖记录信息
type CaiShenBurstHistoryInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserName string `protobuf:"bytes,1,opt,name=UserName,proto3" json:"UserName,omitempty"` // 昵称
PriceValue int64 `protobuf:"varint,2,opt,name=PriceValue,proto3" json:"PriceValue,omitempty"` // 大奖赢分
TotalBet int64 `protobuf:"varint,3,opt,name=TotalBet,proto3" json:"TotalBet,omitempty"` // 时间
Ts int64 `protobuf:"varint,4,opt,name=Ts,proto3" json:"Ts,omitempty"` // 时间
}
func (x *CaiShenBurstHistoryInfo) Reset() {
*x = CaiShenBurstHistoryInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_caishen_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CaiShenBurstHistoryInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CaiShenBurstHistoryInfo) ProtoMessage() {}
func (x *CaiShenBurstHistoryInfo) ProtoReflect() protoreflect.Message {
mi := &file_caishen_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 CaiShenBurstHistoryInfo.ProtoReflect.Descriptor instead.
func (*CaiShenBurstHistoryInfo) Descriptor() ([]byte, []int) {
return file_caishen_proto_rawDescGZIP(), []int{10}
}
func (x *CaiShenBurstHistoryInfo) GetUserName() string {
if x != nil {
return x.UserName
}
return ""
}
func (x *CaiShenBurstHistoryInfo) GetPriceValue() int64 {
if x != nil {
return x.PriceValue
}
return 0
}
func (x *CaiShenBurstHistoryInfo) GetTotalBet() int64 {
if x != nil {
return x.TotalBet
}
return 0
}
func (x *CaiShenBurstHistoryInfo) GetTs() int64 {
if x != nil {
return x.Ts
}
return 0
}
// 大奖记录
type SCCaiShenBurstHistory struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BurstLog []*CaiShenBurstHistoryInfo `protobuf:"bytes,1,rep,name=BurstLog,proto3" json:"BurstLog,omitempty"`
}
func (x *SCCaiShenBurstHistory) Reset() {
*x = SCCaiShenBurstHistory{}
if protoimpl.UnsafeEnabled {
mi := &file_caishen_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCCaiShenBurstHistory) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCCaiShenBurstHistory) ProtoMessage() {}
func (x *SCCaiShenBurstHistory) ProtoReflect() protoreflect.Message {
mi := &file_caishen_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 SCCaiShenBurstHistory.ProtoReflect.Descriptor instead.
func (*SCCaiShenBurstHistory) Descriptor() ([]byte, []int) {
return file_caishen_proto_rawDescGZIP(), []int{11}
}
func (x *SCCaiShenBurstHistory) GetBurstLog() []*CaiShenBurstHistoryInfo {
if x != nil {
return x.BurstLog
}
return nil
}
//房间状态
type SCCaiShenRoomState struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
State int32 `protobuf:"varint,1,opt,name=State,proto3" json:"State,omitempty"` //房间当前状态
}
func (x *SCCaiShenRoomState) Reset() {
*x = SCCaiShenRoomState{}
if protoimpl.UnsafeEnabled {
mi := &file_caishen_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCCaiShenRoomState) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCCaiShenRoomState) ProtoMessage() {}
func (x *SCCaiShenRoomState) ProtoReflect() protoreflect.Message {
mi := &file_caishen_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 SCCaiShenRoomState.ProtoReflect.Descriptor instead.
func (*SCCaiShenRoomState) Descriptor() ([]byte, []int) {
return file_caishen_proto_rawDescGZIP(), []int{12}
}
func (x *SCCaiShenRoomState) GetState() int32 {
if x != nil {
return x.State
}
return 0
}
var File_caishen_proto protoreflect.FileDescriptor
var file_caishen_proto_rawDesc = []byte{
0x0a, 0x0d, 0x63, 0x61, 0x69, 0x73, 0x68, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x07, 0x63, 0x61, 0x69, 0x73, 0x68, 0x65, 0x6e, 0x22, 0xc1, 0x01, 0x0a, 0x11, 0x43, 0x61, 0x69,
0x53, 0x68, 0x65, 0x6e, 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, 0x20, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x18,
0x06, 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, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52,
0x03, 0x56, 0x49, 0x50, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08,
0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xa4, 0x01, 0x0a,
0x14, 0x43, 0x61, 0x69, 0x53, 0x68, 0x65, 0x6e, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x47, 0x61, 0x6d,
0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x44, 0x61,
0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x44,
0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x0f, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x7a,
0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x54, 0x6f,
0x74, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x7a, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a,
0x09, 0x4d, 0x75, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
0x52, 0x09, 0x4d, 0x75, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x44,
0x61, 0x74, 0x61, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x18, 0x04, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c,
0x69, 0x65, 0x72, 0x22, 0xd1, 0x04, 0x0a, 0x11, 0x53, 0x43, 0x43, 0x61, 0x69, 0x53, 0x68, 0x65,
0x6e, 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, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65,
0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a,
0x08, 0x42, 0x65, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x03, 0x52,
0x08, 0x42, 0x65, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x68, 0x69,
0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x68, 0x69, 0x70, 0x12, 0x34, 0x0a,
0x07, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x63, 0x61, 0x69, 0x73, 0x68, 0x65, 0x6e, 0x2e, 0x43, 0x61, 0x69, 0x53, 0x68, 0x65, 0x6e,
0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x50, 0x6c, 0x61, 0x79,
0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x12, 0x18, 0x0a, 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x03, 0x52, 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x54,
0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x18, 0x0c,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65,
0x42, 0x6f, 0x6e, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x70, 0x69, 0x6e, 0x49, 0x44, 0x18,
0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x53, 0x70, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a,
0x08, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x78, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52,
0x08, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x78, 0x12, 0x3b, 0x0a, 0x09, 0x42, 0x6f, 0x6e,
0x75, 0x73, 0x47, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63,
0x61, 0x69, 0x73, 0x68, 0x65, 0x6e, 0x2e, 0x43, 0x61, 0x69, 0x53, 0x68, 0x65, 0x6e, 0x42, 0x6f,
0x6e, 0x75, 0x73, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x42, 0x6f, 0x6e,
0x75, 0x73, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x58,
0x18, 0x10, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x58, 0x12, 0x1e,
0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x37,
0x0a, 0x0a, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x18, 0x12, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x61, 0x69, 0x73, 0x68, 0x65, 0x6e, 0x2e, 0x47, 0x61, 0x6d,
0x65, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x42, 0x69, 0x6c,
0x6c, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x22, 0x3d, 0x0a, 0x0b, 0x43, 0x53, 0x43, 0x61, 0x69,
0x53, 0x68, 0x65, 0x6e, 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, 0x86, 0x01, 0x0a, 0x0b, 0x53, 0x43, 0x43, 0x61, 0x69,
0x53, 0x68, 0x65, 0x6e, 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, 0x33, 0x0a, 0x09, 0x4f, 0x70,
0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e,
0x63, 0x61, 0x69, 0x73, 0x68, 0x65, 0x6e, 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,
0x80, 0x01, 0x0a, 0x10, 0x43, 0x61, 0x69, 0x53, 0x68, 0x65, 0x6e, 0x4c, 0x69, 0x6e, 0x65, 0x73,
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x4c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
0x50, 0x72, 0x69, 0x7a, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x50,
0x72, 0x69, 0x7a, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x7a, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x7a, 0x65, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x22, 0xa0, 0x04, 0x0a, 0x0e, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x65,
0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x70, 0x69, 0x6e, 0x49, 0x44, 0x18,
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x53, 0x70, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a,
0x09, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05,
0x52, 0x09, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x41,
0x64, 0x64, 0x46, 0x72, 0x65, 0x65, 0x53, 0x70, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0b, 0x41, 0x64, 0x64, 0x46, 0x72, 0x65, 0x65, 0x53, 0x70, 0x69, 0x6e, 0x12, 0x1c, 0x0a,
0x09, 0x49, 0x73, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
0x52, 0x09, 0x49, 0x73, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x50,
0x72, 0x69, 0x7a, 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x19, 0x2e, 0x63, 0x61, 0x69, 0x73, 0x68, 0x65, 0x6e, 0x2e, 0x43, 0x61, 0x69, 0x53, 0x68, 0x65,
0x6e, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x7a,
0x65, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50,
0x72, 0x69, 0x7a, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0f, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x7a, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x12, 0x36, 0x0a, 0x16, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6c, 0x69, 0x6e, 0x65,
0x50, 0x72, 0x69, 0x7a, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03,
0x52, 0x16, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x72,
0x69, 0x7a, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x54, 0x6f, 0x74, 0x61,
0x6c, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20,
0x01, 0x28, 0x03, 0x52, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f,
0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63,
0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65,
0x12, 0x1c, 0x0a, 0x09, 0x46, 0x72, 0x65, 0x65, 0x53, 0x70, 0x69, 0x6e, 0x73, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x05, 0x52, 0x09, 0x46, 0x72, 0x65, 0x65, 0x53, 0x70, 0x69, 0x6e, 0x73, 0x12, 0x18,
0x0a, 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52,
0x07, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x6f, 0x6e, 0x75,
0x73, 0x58, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x58,
0x12, 0x3b, 0x0a, 0x09, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x47, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x69, 0x73, 0x68, 0x65, 0x6e, 0x2e, 0x43, 0x61,
0x69, 0x53, 0x68, 0x65, 0x6e, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x09, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a,
0x0e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53,
0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x4e, 0x0a, 0x13, 0x53, 0x43, 0x43, 0x61, 0x69, 0x53, 0x68,
0x65, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x0a,
0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x63, 0x61, 0x69, 0x73, 0x68, 0x65, 0x6e, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x42,
0x69, 0x6c, 0x6c, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x42, 0x69, 0x6c, 0x6c, 0x65,
0x64, 0x44, 0x61, 0x74, 0x61, 0x22, 0xe6, 0x01, 0x0a, 0x18, 0x43, 0x61, 0x69, 0x53, 0x68, 0x65,
0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x70, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x53, 0x70, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d,
0x54, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x65, 0x74, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x54, 0x6f, 0x74,
0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06,
0x49, 0x73, 0x46, 0x72, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73,
0x46, 0x72, 0x65, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x6f, 0x6e,
0x75, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x54,
0x6f, 0x74, 0x61, 0x6c, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x61,
0x0a, 0x16, 0x53, 0x43, 0x43, 0x61, 0x69, 0x53, 0x68, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65,
0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x47, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79,
0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x21, 0x2e, 0x63, 0x61, 0x69, 0x73, 0x68, 0x65, 0x6e, 0x2e, 0x43, 0x61, 0x69, 0x53, 0x68, 0x65,
0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72,
0x79, 0x22, 0x81, 0x01, 0x0a, 0x17, 0x43, 0x61, 0x69, 0x53, 0x68, 0x65, 0x6e, 0x42, 0x75, 0x72,
0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a,
0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69,
0x63, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x50,
0x72, 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x6f, 0x74,
0x61, 0x6c, 0x42, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x54, 0x6f, 0x74,
0x61, 0x6c, 0x42, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
0x03, 0x52, 0x02, 0x54, 0x73, 0x22, 0x55, 0x0a, 0x15, 0x53, 0x43, 0x43, 0x61, 0x69, 0x53, 0x68,
0x65, 0x6e, 0x42, 0x75, 0x72, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3c,
0x0a, 0x08, 0x42, 0x75, 0x72, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x20, 0x2e, 0x63, 0x61, 0x69, 0x73, 0x68, 0x65, 0x6e, 0x2e, 0x43, 0x61, 0x69, 0x53, 0x68,
0x65, 0x6e, 0x42, 0x75, 0x72, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x08, 0x42, 0x75, 0x72, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x22, 0x2a, 0x0a, 0x12,
0x53, 0x43, 0x43, 0x61, 0x69, 0x53, 0x68, 0x65, 0x6e, 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, 0x2a, 0x48, 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, 0x17, 0x0a, 0x12, 0x4f, 0x50, 0x52,
0x43, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10,
0xa0, 0x08, 0x2a, 0xc1, 0x02, 0x0a, 0x0f, 0x43, 0x61, 0x69, 0x53, 0x68, 0x65, 0x6e, 0x50, 0x61,
0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
0x5f, 0x43, 0x61, 0x69, 0x53, 0x68, 0x65, 0x6e, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12,
0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x41, 0x49,
0x53, 0x48, 0x45, 0x4e, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xe4, 0x28,
0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x43, 0x41,
0x49, 0x53, 0x48, 0x45, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4f, 0x50, 0x10, 0xe5,
0x28, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43,
0x41, 0x49, 0x53, 0x48, 0x45, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4f, 0x50, 0x10,
0xe6, 0x28, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f,
0x43, 0x41, 0x49, 0x53, 0x48, 0x45, 0x4e, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x53, 0x54, 0x41, 0x54,
0x45, 0x10, 0xe7, 0x28, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53,
0x43, 0x5f, 0x43, 0x41, 0x49, 0x53, 0x48, 0x45, 0x4e, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x42, 0x49,
0x4c, 0x4c, 0x45, 0x44, 0x10, 0xe8, 0x28, 0x12, 0x24, 0x0a, 0x1f, 0x50, 0x41, 0x43, 0x4b, 0x45,
0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x41, 0x49, 0x53, 0x48, 0x45, 0x4e, 0x5f, 0x50, 0x4c, 0x41,
0x59, 0x45, 0x52, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x10, 0xe9, 0x28, 0x12, 0x23, 0x0a,
0x1e, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x41, 0x49, 0x53, 0x48,
0x45, 0x4e, 0x5f, 0x42, 0x55, 0x52, 0x53, 0x54, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x10,
0xea, 0x28, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f,
0x43, 0x41, 0x49, 0x53, 0x48, 0x45, 0x4e, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4a, 0x41, 0x43, 0x4b,
0x50, 0x4f, 0x54, 0x10, 0xeb, 0x28, 0x42, 0x27, 0x5a, 0x25, 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, 0x63, 0x61, 0x69, 0x73, 0x68, 0x65, 0x6e, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_caishen_proto_rawDescOnce sync.Once
file_caishen_proto_rawDescData = file_caishen_proto_rawDesc
)
func file_caishen_proto_rawDescGZIP() []byte {
file_caishen_proto_rawDescOnce.Do(func() {
file_caishen_proto_rawDescData = protoimpl.X.CompressGZIP(file_caishen_proto_rawDescData)
})
return file_caishen_proto_rawDescData
}
var file_caishen_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_caishen_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
var file_caishen_proto_goTypes = []interface{}{
(OpResultCode)(0), // 0: caishen.OpResultCode
(CaiShenPacketID)(0), // 1: caishen.CaiShenPacketID
(*CaiShenPlayerData)(nil), // 2: caishen.CaiShenPlayerData
(*CaiShenBonusGameInfo)(nil), // 3: caishen.CaiShenBonusGameInfo
(*SCCaiShenRoomInfo)(nil), // 4: caishen.SCCaiShenRoomInfo
(*CSCaiShenOp)(nil), // 5: caishen.CSCaiShenOp
(*SCCaiShenOp)(nil), // 6: caishen.SCCaiShenOp
(*CaiShenLinesInfo)(nil), // 7: caishen.CaiShenLinesInfo
(*GameBilledData)(nil), // 8: caishen.GameBilledData
(*SCCaiShenGameBilled)(nil), // 9: caishen.SCCaiShenGameBilled
(*CaiShenPlayerHistoryInfo)(nil), // 10: caishen.CaiShenPlayerHistoryInfo
(*SCCaiShenPlayerHistory)(nil), // 11: caishen.SCCaiShenPlayerHistory
(*CaiShenBurstHistoryInfo)(nil), // 12: caishen.CaiShenBurstHistoryInfo
(*SCCaiShenBurstHistory)(nil), // 13: caishen.SCCaiShenBurstHistory
(*SCCaiShenRoomState)(nil), // 14: caishen.SCCaiShenRoomState
}
var file_caishen_proto_depIdxs = []int32{
2, // 0: caishen.SCCaiShenRoomInfo.Players:type_name -> caishen.CaiShenPlayerData
3, // 1: caishen.SCCaiShenRoomInfo.BonusGame:type_name -> caishen.CaiShenBonusGameInfo
8, // 2: caishen.SCCaiShenRoomInfo.BilledData:type_name -> caishen.GameBilledData
0, // 3: caishen.SCCaiShenOp.OpRetCode:type_name -> caishen.OpResultCode
7, // 4: caishen.GameBilledData.PrizeLines:type_name -> caishen.CaiShenLinesInfo
3, // 5: caishen.GameBilledData.BonusGame:type_name -> caishen.CaiShenBonusGameInfo
8, // 6: caishen.SCCaiShenGameBilled.BilledData:type_name -> caishen.GameBilledData
10, // 7: caishen.SCCaiShenPlayerHistory.PlayerHistory:type_name -> caishen.CaiShenPlayerHistoryInfo
12, // 8: caishen.SCCaiShenBurstHistory.BurstLog:type_name -> caishen.CaiShenBurstHistoryInfo
9, // [9:9] is the sub-list for method output_type
9, // [9:9] is the sub-list for method input_type
9, // [9:9] is the sub-list for extension type_name
9, // [9:9] is the sub-list for extension extendee
0, // [0:9] is the sub-list for field type_name
}
func init() { file_caishen_proto_init() }
func file_caishen_proto_init() {
if File_caishen_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_caishen_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CaiShenPlayerData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_caishen_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CaiShenBonusGameInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_caishen_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCCaiShenRoomInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_caishen_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSCaiShenOp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_caishen_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCCaiShenOp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_caishen_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CaiShenLinesInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_caishen_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GameBilledData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_caishen_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCCaiShenGameBilled); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_caishen_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CaiShenPlayerHistoryInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_caishen_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCCaiShenPlayerHistory); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_caishen_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CaiShenBurstHistoryInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_caishen_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCCaiShenBurstHistory); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_caishen_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCCaiShenRoomState); 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_caishen_proto_rawDesc,
NumEnums: 2,
NumMessages: 13,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_caishen_proto_goTypes,
DependencyIndexes: file_caishen_proto_depIdxs,
EnumInfos: file_caishen_proto_enumTypes,
MessageInfos: file_caishen_proto_msgTypes,
}.Build()
File_caishen_proto = out.File
file_caishen_proto_rawDesc = nil
file_caishen_proto_goTypes = nil
file_caishen_proto_depIdxs = nil
}