game_sync/protocol/chesstitians/chesstitians.pb.go

2822 lines
108 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: chesstitians.proto
package chesstitians
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 //失败
)
// Enum value maps for OpResultCode.
var (
OpResultCode_name = map[int32]string{
0: "OPRC_Sucess",
1: "OPRC_Error",
}
OpResultCode_value = map[string]int32{
"OPRC_Sucess": 0,
"OPRC_Error": 1,
}
)
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_chesstitians_proto_enumTypes[0].Descriptor()
}
func (OpResultCode) Type() protoreflect.EnumType {
return &file_chesstitians_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_chesstitians_proto_rawDescGZIP(), []int{0}
}
//tienlen
type ChesstitiansPacketID int32
const (
ChesstitiansPacketID_PACKET_ChesstitiansZERO ChesstitiansPacketID = 0 // 弃用消息号
ChesstitiansPacketID_PACKET_SCChesstitiansRoomInfo ChesstitiansPacketID = 5470 //房间信息
ChesstitiansPacketID_PACKET_SCChesstitiansRoomState ChesstitiansPacketID = 5471 //房间状态
ChesstitiansPacketID_PACKET_CSChesstitiansPlayerOp ChesstitiansPacketID = 5472 //玩家操作
ChesstitiansPacketID_PACKET_SCChesstitiansPlayerOp ChesstitiansPacketID = 5473 //玩家操作
ChesstitiansPacketID_PACKET_SCChesstitiansPlayerEnter ChesstitiansPacketID = 5474 //玩家进入
ChesstitiansPacketID_PACKET_SCChesstitiansPlayerLeave ChesstitiansPacketID = 5475 //玩家离开
ChesstitiansPacketID_PACKET_SCChesstitiansCard ChesstitiansPacketID = 5476 //发牌
ChesstitiansPacketID_PACKET_SCChesstitiansGameBilled ChesstitiansPacketID = 5477 //结算
ChesstitiansPacketID_PACKET_SCChesstitiansCurOpPos ChesstitiansPacketID = 5478 //当前操作的玩家位置
ChesstitiansPacketID_PACKET_SCChesstitiansSmallGameBilled ChesstitiansPacketID = 5479 //小结算
ChesstitiansPacketID_PACKET_SCChesstitiansUpdateMasterSnid ChesstitiansPacketID = 5480 //房主更换
ChesstitiansPacketID_PACKET_SCChesstitiansUpdateAudienceNum ChesstitiansPacketID = 5481 //推送观众人数
ChesstitiansPacketID_PACKET_SCChesstitiansAI ChesstitiansPacketID = 5482 //AI消息
ChesstitiansPacketID_PACKET_SCChesstitiansFirstOpPos ChesstitiansPacketID = 5483 //首出玩家
ChesstitiansPacketID_PACKET_SCChesstitiansCardTest ChesstitiansPacketID = 5484 //测试数据
ChesstitiansPacketID_PACKET_CSChesstitiansPlayerDevOp ChesstitiansPacketID = 5485 //玩家操作
ChesstitiansPacketID_PACKET_SCChesstitiansPlayerDevOp ChesstitiansPacketID = 5486 //玩家操作
)
// Enum value maps for ChesstitiansPacketID.
var (
ChesstitiansPacketID_name = map[int32]string{
0: "PACKET_ChesstitiansZERO",
5470: "PACKET_SCChesstitiansRoomInfo",
5471: "PACKET_SCChesstitiansRoomState",
5472: "PACKET_CSChesstitiansPlayerOp",
5473: "PACKET_SCChesstitiansPlayerOp",
5474: "PACKET_SCChesstitiansPlayerEnter",
5475: "PACKET_SCChesstitiansPlayerLeave",
5476: "PACKET_SCChesstitiansCard",
5477: "PACKET_SCChesstitiansGameBilled",
5478: "PACKET_SCChesstitiansCurOpPos",
5479: "PACKET_SCChesstitiansSmallGameBilled",
5480: "PACKET_SCChesstitiansUpdateMasterSnid",
5481: "PACKET_SCChesstitiansUpdateAudienceNum",
5482: "PACKET_SCChesstitiansAI",
5483: "PACKET_SCChesstitiansFirstOpPos",
5484: "PACKET_SCChesstitiansCardTest",
5485: "PACKET_CSChesstitiansPlayerDevOp",
5486: "PACKET_SCChesstitiansPlayerDevOp",
}
ChesstitiansPacketID_value = map[string]int32{
"PACKET_ChesstitiansZERO": 0,
"PACKET_SCChesstitiansRoomInfo": 5470,
"PACKET_SCChesstitiansRoomState": 5471,
"PACKET_CSChesstitiansPlayerOp": 5472,
"PACKET_SCChesstitiansPlayerOp": 5473,
"PACKET_SCChesstitiansPlayerEnter": 5474,
"PACKET_SCChesstitiansPlayerLeave": 5475,
"PACKET_SCChesstitiansCard": 5476,
"PACKET_SCChesstitiansGameBilled": 5477,
"PACKET_SCChesstitiansCurOpPos": 5478,
"PACKET_SCChesstitiansSmallGameBilled": 5479,
"PACKET_SCChesstitiansUpdateMasterSnid": 5480,
"PACKET_SCChesstitiansUpdateAudienceNum": 5481,
"PACKET_SCChesstitiansAI": 5482,
"PACKET_SCChesstitiansFirstOpPos": 5483,
"PACKET_SCChesstitiansCardTest": 5484,
"PACKET_CSChesstitiansPlayerDevOp": 5485,
"PACKET_SCChesstitiansPlayerDevOp": 5486,
}
)
func (x ChesstitiansPacketID) Enum() *ChesstitiansPacketID {
p := new(ChesstitiansPacketID)
*p = x
return p
}
func (x ChesstitiansPacketID) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ChesstitiansPacketID) Descriptor() protoreflect.EnumDescriptor {
return file_chesstitians_proto_enumTypes[1].Descriptor()
}
func (ChesstitiansPacketID) Type() protoreflect.EnumType {
return &file_chesstitians_proto_enumTypes[1]
}
func (x ChesstitiansPacketID) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ChesstitiansPacketID.Descriptor instead.
func (ChesstitiansPacketID) EnumDescriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{1}
}
//玩家信息
type ChesstitiansPlayerData 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"` //性别
Params []string `protobuf:"bytes,5,rep,name=Params,proto3" json:"Params,omitempty"` //其他数据 如:昵称 头像 性别 ip 等
Coin int64 `protobuf:"varint,6,opt,name=Coin,proto3" json:"Coin,omitempty"` //金币
Pos int32 `protobuf:"varint,7,opt,name=Pos,proto3" json:"Pos,omitempty"` //座位位置
Flag int32 `protobuf:"varint,8,opt,name=Flag,proto3" json:"Flag,omitempty"` //二进制标记 详见:数据字典
Longitude int32 `protobuf:"varint,9,opt,name=Longitude,proto3" json:"Longitude,omitempty"` //经度
Latitude int32 `protobuf:"varint,10,opt,name=Latitude,proto3" json:"Latitude,omitempty"` //纬度
City string `protobuf:"bytes,11,opt,name=City,proto3" json:"City,omitempty"` //城市 例:伦敦
LastOp int32 `protobuf:"varint,12,opt,name=LastOp,proto3" json:"LastOp,omitempty"` //如上:玩家操作
VIP int32 `protobuf:"varint,13,opt,name=VIP,proto3" json:"VIP,omitempty"` //玩家VIP等级
HeadOutLine int32 `protobuf:"varint,14,opt,name=HeadOutLine,proto3" json:"HeadOutLine,omitempty"` //头像框
NiceId int32 `protobuf:"varint,15,opt,name=NiceId,proto3" json:"NiceId,omitempty"` //靓号[机器人用]
Cards []int32 `protobuf:"varint,16,rep,packed,name=Cards,proto3" json:"Cards,omitempty"` //手牌
CurRoundTotalBet int64 `protobuf:"varint,17,opt,name=CurRoundTotalBet,proto3" json:"CurRoundTotalBet,omitempty"` //本轮押注已押的金币
GameCoin int64 `protobuf:"varint,18,opt,name=GameCoin,proto3" json:"GameCoin,omitempty"` //游戏内带入的金币
RoleId int32 `protobuf:"varint,19,opt,name=RoleId,proto3" json:"RoleId,omitempty"` //使用中的角色id
Items map[int32]int32 `protobuf:"bytes,20,rep,name=Items,proto3" json:"Items,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
MatchRankId int32 `protobuf:"varint,21,opt,name=MatchRankId,proto3" json:"MatchRankId,omitempty"`
Lv int32 `protobuf:"varint,22,opt,name=Lv,proto3" json:"Lv,omitempty"`
CopySnid int32 `protobuf:"varint,23,opt,name=CopySnid,proto3" json:"CopySnid,omitempty"` //比赛场机器人假snid
CopyRoleId int32 `protobuf:"varint,24,opt,name=CopyRoleId,proto3" json:"CopyRoleId,omitempty"` //比赛场机器人假角色
IsBlack int32 `protobuf:"varint,25,opt,name=IsBlack,proto3" json:"IsBlack,omitempty"` // 黑棋1 白棋0
ChessGrade int64 `protobuf:"varint,26,opt,name=ChessGrade,proto3" json:"ChessGrade,omitempty"` // 象棋积分
IsWin int32 `protobuf:"varint,27,opt,name=IsWin,proto3" json:"IsWin,omitempty"` //输赢 赢1 输2 平0
WinTimes int32 `protobuf:"varint,28,opt,name=WinTimes,proto3" json:"WinTimes,omitempty"` // 连胜次数
OtherScore int32 `protobuf:"varint,29,opt,name=OtherScore,proto3" json:"OtherScore,omitempty"` // 额外积分
NextRank int32 `protobuf:"varint,30,opt,name=NextRank,proto3" json:"NextRank,omitempty"` // 再赢几局可晋级
WinScore int32 `protobuf:"varint,31,opt,name=WinScore,proto3" json:"WinScore,omitempty"` // 本局积分
IsRob bool `protobuf:"varint,32,opt,name=IsRob,proto3" json:"IsRob,omitempty"` // 是否机器人
WinCoin int64 `protobuf:"varint,33,opt,name=WinCoin,proto3" json:"WinCoin,omitempty"` // 本局输赢金币
OldChessGrade int64 `protobuf:"varint,34,opt,name=OldChessGrade,proto3" json:"OldChessGrade,omitempty"` // 原来的象棋积分
TotalTime int32 `protobuf:"varint,35,opt,name=TotalTime,proto3" json:"TotalTime,omitempty"` // 下棋总时长,单位秒
}
func (x *ChesstitiansPlayerData) Reset() {
*x = ChesstitiansPlayerData{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChesstitiansPlayerData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChesstitiansPlayerData) ProtoMessage() {}
func (x *ChesstitiansPlayerData) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_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 ChesstitiansPlayerData.ProtoReflect.Descriptor instead.
func (*ChesstitiansPlayerData) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{0}
}
func (x *ChesstitiansPlayerData) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ChesstitiansPlayerData) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *ChesstitiansPlayerData) GetHead() int32 {
if x != nil {
return x.Head
}
return 0
}
func (x *ChesstitiansPlayerData) GetSex() int32 {
if x != nil {
return x.Sex
}
return 0
}
func (x *ChesstitiansPlayerData) GetParams() []string {
if x != nil {
return x.Params
}
return nil
}
func (x *ChesstitiansPlayerData) GetCoin() int64 {
if x != nil {
return x.Coin
}
return 0
}
func (x *ChesstitiansPlayerData) GetPos() int32 {
if x != nil {
return x.Pos
}
return 0
}
func (x *ChesstitiansPlayerData) GetFlag() int32 {
if x != nil {
return x.Flag
}
return 0
}
func (x *ChesstitiansPlayerData) GetLongitude() int32 {
if x != nil {
return x.Longitude
}
return 0
}
func (x *ChesstitiansPlayerData) GetLatitude() int32 {
if x != nil {
return x.Latitude
}
return 0
}
func (x *ChesstitiansPlayerData) GetCity() string {
if x != nil {
return x.City
}
return ""
}
func (x *ChesstitiansPlayerData) GetLastOp() int32 {
if x != nil {
return x.LastOp
}
return 0
}
func (x *ChesstitiansPlayerData) GetVIP() int32 {
if x != nil {
return x.VIP
}
return 0
}
func (x *ChesstitiansPlayerData) GetHeadOutLine() int32 {
if x != nil {
return x.HeadOutLine
}
return 0
}
func (x *ChesstitiansPlayerData) GetNiceId() int32 {
if x != nil {
return x.NiceId
}
return 0
}
func (x *ChesstitiansPlayerData) GetCards() []int32 {
if x != nil {
return x.Cards
}
return nil
}
func (x *ChesstitiansPlayerData) GetCurRoundTotalBet() int64 {
if x != nil {
return x.CurRoundTotalBet
}
return 0
}
func (x *ChesstitiansPlayerData) GetGameCoin() int64 {
if x != nil {
return x.GameCoin
}
return 0
}
func (x *ChesstitiansPlayerData) GetRoleId() int32 {
if x != nil {
return x.RoleId
}
return 0
}
func (x *ChesstitiansPlayerData) GetItems() map[int32]int32 {
if x != nil {
return x.Items
}
return nil
}
func (x *ChesstitiansPlayerData) GetMatchRankId() int32 {
if x != nil {
return x.MatchRankId
}
return 0
}
func (x *ChesstitiansPlayerData) GetLv() int32 {
if x != nil {
return x.Lv
}
return 0
}
func (x *ChesstitiansPlayerData) GetCopySnid() int32 {
if x != nil {
return x.CopySnid
}
return 0
}
func (x *ChesstitiansPlayerData) GetCopyRoleId() int32 {
if x != nil {
return x.CopyRoleId
}
return 0
}
func (x *ChesstitiansPlayerData) GetIsBlack() int32 {
if x != nil {
return x.IsBlack
}
return 0
}
func (x *ChesstitiansPlayerData) GetChessGrade() int64 {
if x != nil {
return x.ChessGrade
}
return 0
}
func (x *ChesstitiansPlayerData) GetIsWin() int32 {
if x != nil {
return x.IsWin
}
return 0
}
func (x *ChesstitiansPlayerData) GetWinTimes() int32 {
if x != nil {
return x.WinTimes
}
return 0
}
func (x *ChesstitiansPlayerData) GetOtherScore() int32 {
if x != nil {
return x.OtherScore
}
return 0
}
func (x *ChesstitiansPlayerData) GetNextRank() int32 {
if x != nil {
return x.NextRank
}
return 0
}
func (x *ChesstitiansPlayerData) GetWinScore() int32 {
if x != nil {
return x.WinScore
}
return 0
}
func (x *ChesstitiansPlayerData) GetIsRob() bool {
if x != nil {
return x.IsRob
}
return false
}
func (x *ChesstitiansPlayerData) GetWinCoin() int64 {
if x != nil {
return x.WinCoin
}
return 0
}
func (x *ChesstitiansPlayerData) GetOldChessGrade() int64 {
if x != nil {
return x.OldChessGrade
}
return 0
}
func (x *ChesstitiansPlayerData) GetTotalTime() int32 {
if x != nil {
return x.TotalTime
}
return 0
}
type LastDelCard struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Cards []int32 `protobuf:"varint,1,rep,packed,name=Cards,proto3" json:"Cards,omitempty"`
}
func (x *LastDelCard) Reset() {
*x = LastDelCard{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LastDelCard) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LastDelCard) ProtoMessage() {}
func (x *LastDelCard) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_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 LastDelCard.ProtoReflect.Descriptor instead.
func (*LastDelCard) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{1}
}
func (x *LastDelCard) GetCards() []int32 {
if x != nil {
return x.Cards
}
return nil
}
//房间信息
type SCChesstitiansRoomInfo 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"` //规则参数
BankerPos int32 `protobuf:"varint,6,opt,name=BankerPos,proto3" json:"BankerPos,omitempty"` //庄家位置
State int32 `protobuf:"varint,7,opt,name=State,proto3" json:"State,omitempty"` //房间当前状态,如上
TimeOut int32 `protobuf:"varint,8,opt,name=TimeOut,proto3" json:"TimeOut,omitempty"` //等待剩余时间 单位:秒
Players []*ChesstitiansPlayerData `protobuf:"bytes,9,rep,name=Players,proto3" json:"Players,omitempty"` //房间内的玩家信息
AudienceNum int32 `protobuf:"varint,11,opt,name=AudienceNum,proto3" json:"AudienceNum,omitempty"` //当前观战人数
CurOpIdx int32 `protobuf:"varint,12,opt,name=CurOpIdx,proto3" json:"CurOpIdx,omitempty"` //当前等待操作的玩家
LastDelCards []*LastDelCard `protobuf:"bytes,13,rep,name=LastDelCards,proto3" json:"LastDelCards,omitempty"` //上两手出的牌
NumOfGames int32 `protobuf:"varint,14,opt,name=NumOfGames,proto3" json:"NumOfGames,omitempty"` //当前局数
TotalOfGames int32 `protobuf:"varint,15,opt,name=TotalOfGames,proto3" json:"TotalOfGames,omitempty"` //总局数
MasterSnid int32 `protobuf:"varint,16,opt,name=MasterSnid,proto3" json:"MasterSnid,omitempty"` //房主
BaseScore int32 `protobuf:"varint,17,opt,name=BaseScore,proto3" json:"BaseScore,omitempty"` //游戏底分
MaxPlayerNum int32 `protobuf:"varint,18,opt,name=MaxPlayerNum,proto3" json:"MaxPlayerNum,omitempty"` //最大游戏人数
WinSnids []int32 `protobuf:"varint,19,rep,packed,name=WinSnids,proto3" json:"WinSnids,omitempty"` //已出完牌的玩家
// 比赛场相关
IsMatch int32 `protobuf:"varint,20,opt,name=IsMatch,proto3" json:"IsMatch,omitempty"` //0普通场 1锦标赛 2冠军赛
Round int32 `protobuf:"varint,22,opt,name=Round,proto3" json:"Round,omitempty"` //比赛当前轮数
CurPlayerNum int32 `protobuf:"varint,24,opt,name=CurPlayerNum,proto3" json:"CurPlayerNum,omitempty"` //当前游戏人数
NextNeed int32 `protobuf:"varint,25,opt,name=NextNeed,proto3" json:"NextNeed,omitempty"` //前多少名可以晋级下一轮
MatchFinals int32 `protobuf:"varint,26,opt,name=MatchFinals,proto3" json:"MatchFinals,omitempty"` //0晋级赛 1半决赛 2是总决赛
Chess []string `protobuf:"bytes,27,rep,name=Chess,proto3" json:"Chess,omitempty"` // 棋盘数据
LastMove []int32 `protobuf:"varint,28,rep,packed,name=LastMove,proto3" json:"LastMove,omitempty"` // 上一个操作
Act string `protobuf:"bytes,29,opt,name=Act,proto3" json:"Act,omitempty"` // 该谁走 "w" | "b"
Castling []bool `protobuf:"varint,30,rep,packed,name=Castling,proto3" json:"Castling,omitempty"` // 王车易位可行性 [KQkq]
Enpassant int32 `protobuf:"varint,31,opt,name=Enpassant,proto3" json:"Enpassant,omitempty"` // 过路兵idx
ChessRound int32 `protobuf:"varint,32,opt,name=ChessRound,proto3" json:"ChessRound,omitempty"` // 当前局回合数
Variant int32 `protobuf:"varint,33,opt,name=Variant,proto3" json:"Variant,omitempty"` // 棋类变体号对应chess.go
CambodianMove []bool `protobuf:"varint,34,rep,packed,name=CambodianMove,proto3" json:"CambodianMove,omitempty"` // 柬埔寨移动可行性 [DEde]
Check []bool `protobuf:"varint,35,rep,packed,name=Check,proto3" json:"Check,omitempty"` // 将军 [0]w白方将军 [1]b黑方将军
Checkmate []bool `protobuf:"varint,36,rep,packed,name=Checkmate,proto3" json:"Checkmate,omitempty"` // 将死 [0]w白方将军 [1]b黑方将军
StepSnId int32 `protobuf:"varint,37,opt,name=StepSnId,proto3" json:"StepSnId,omitempty"` // 残局计步发起计步的玩家SnIdStepSnId为0时并且StepLimit大于0时为孤王计步状态
StepNum int64 `protobuf:"varint,38,opt,name=StepNum,proto3" json:"StepNum,omitempty"` // 残局或孤王计步起始回合数
StepLimit int64 `protobuf:"varint,39,opt,name=StepLimit,proto3" json:"StepLimit,omitempty"` // 残局或孤王计步最大回合数
DrawSnId int32 `protobuf:"varint,40,opt,name=DrawSnId,proto3" json:"DrawSnId,omitempty"` // 玩家求和
NextSnId int32 `protobuf:"varint,41,opt,name=NextSnId,proto3" json:"NextSnId,omitempty"` // 再来一局玩家SnId
GameFreeId int32 `protobuf:"varint,42,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"`
SceneType int32 `protobuf:"varint,43,opt,name=SceneType,proto3" json:"SceneType,omitempty"`
}
func (x *SCChesstitiansRoomInfo) Reset() {
*x = SCChesstitiansRoomInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCChesstitiansRoomInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCChesstitiansRoomInfo) ProtoMessage() {}
func (x *SCChesstitiansRoomInfo) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_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 SCChesstitiansRoomInfo.ProtoReflect.Descriptor instead.
func (*SCChesstitiansRoomInfo) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{2}
}
func (x *SCChesstitiansRoomInfo) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetCreator() int32 {
if x != nil {
return x.Creator
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetRoomMode() int32 {
if x != nil {
return x.RoomMode
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetParams() []int32 {
if x != nil {
return x.Params
}
return nil
}
func (x *SCChesstitiansRoomInfo) GetBankerPos() int32 {
if x != nil {
return x.BankerPos
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetState() int32 {
if x != nil {
return x.State
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetTimeOut() int32 {
if x != nil {
return x.TimeOut
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetPlayers() []*ChesstitiansPlayerData {
if x != nil {
return x.Players
}
return nil
}
func (x *SCChesstitiansRoomInfo) GetAudienceNum() int32 {
if x != nil {
return x.AudienceNum
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetCurOpIdx() int32 {
if x != nil {
return x.CurOpIdx
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetLastDelCards() []*LastDelCard {
if x != nil {
return x.LastDelCards
}
return nil
}
func (x *SCChesstitiansRoomInfo) GetNumOfGames() int32 {
if x != nil {
return x.NumOfGames
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetTotalOfGames() int32 {
if x != nil {
return x.TotalOfGames
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetMasterSnid() int32 {
if x != nil {
return x.MasterSnid
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetBaseScore() int32 {
if x != nil {
return x.BaseScore
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetMaxPlayerNum() int32 {
if x != nil {
return x.MaxPlayerNum
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetWinSnids() []int32 {
if x != nil {
return x.WinSnids
}
return nil
}
func (x *SCChesstitiansRoomInfo) GetIsMatch() int32 {
if x != nil {
return x.IsMatch
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetRound() int32 {
if x != nil {
return x.Round
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetCurPlayerNum() int32 {
if x != nil {
return x.CurPlayerNum
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetNextNeed() int32 {
if x != nil {
return x.NextNeed
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetMatchFinals() int32 {
if x != nil {
return x.MatchFinals
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetChess() []string {
if x != nil {
return x.Chess
}
return nil
}
func (x *SCChesstitiansRoomInfo) GetLastMove() []int32 {
if x != nil {
return x.LastMove
}
return nil
}
func (x *SCChesstitiansRoomInfo) GetAct() string {
if x != nil {
return x.Act
}
return ""
}
func (x *SCChesstitiansRoomInfo) GetCastling() []bool {
if x != nil {
return x.Castling
}
return nil
}
func (x *SCChesstitiansRoomInfo) GetEnpassant() int32 {
if x != nil {
return x.Enpassant
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetChessRound() int32 {
if x != nil {
return x.ChessRound
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetVariant() int32 {
if x != nil {
return x.Variant
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetCambodianMove() []bool {
if x != nil {
return x.CambodianMove
}
return nil
}
func (x *SCChesstitiansRoomInfo) GetCheck() []bool {
if x != nil {
return x.Check
}
return nil
}
func (x *SCChesstitiansRoomInfo) GetCheckmate() []bool {
if x != nil {
return x.Checkmate
}
return nil
}
func (x *SCChesstitiansRoomInfo) GetStepSnId() int32 {
if x != nil {
return x.StepSnId
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetStepNum() int64 {
if x != nil {
return x.StepNum
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetStepLimit() int64 {
if x != nil {
return x.StepLimit
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetDrawSnId() int32 {
if x != nil {
return x.DrawSnId
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetNextSnId() int32 {
if x != nil {
return x.NextSnId
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *SCChesstitiansRoomInfo) GetSceneType() int32 {
if x != nil {
return x.SceneType
}
return 0
}
//房间状态更新
type SCChesstitiansRoomState struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
State int32 `protobuf:"varint,1,opt,name=State,proto3" json:"State,omitempty"` //房间当前状态
Params []int64 `protobuf:"varint,2,rep,packed,name=Params,proto3" json:"Params,omitempty"` //参数
}
func (x *SCChesstitiansRoomState) Reset() {
*x = SCChesstitiansRoomState{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCChesstitiansRoomState) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCChesstitiansRoomState) ProtoMessage() {}
func (x *SCChesstitiansRoomState) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_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 SCChesstitiansRoomState.ProtoReflect.Descriptor instead.
func (*SCChesstitiansRoomState) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{3}
}
func (x *SCChesstitiansRoomState) GetState() int32 {
if x != nil {
return x.State
}
return 0
}
func (x *SCChesstitiansRoomState) GetParams() []int64 {
if x != nil {
return x.Params
}
return nil
}
//玩家操作
type CSChesstitiansPlayerOp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 1出牌
// 2过牌
// 3开始游戏
// 4投降操作
// 5测试
// 6计步操作(1 开始0结束)
// 7求和(1请求求和 2拒绝求和 3同意求和 4撤销求和)
// 8再来一局
OpCode int32 `protobuf:"varint,1,opt,name=OpCode,proto3" json:"OpCode,omitempty"`
OpParam []int64 `protobuf:"varint,2,rep,packed,name=OpParam,proto3" json:"OpParam,omitempty"`
}
func (x *CSChesstitiansPlayerOp) Reset() {
*x = CSChesstitiansPlayerOp{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSChesstitiansPlayerOp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSChesstitiansPlayerOp) ProtoMessage() {}
func (x *CSChesstitiansPlayerOp) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_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 CSChesstitiansPlayerOp.ProtoReflect.Descriptor instead.
func (*CSChesstitiansPlayerOp) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{4}
}
func (x *CSChesstitiansPlayerOp) GetOpCode() int32 {
if x != nil {
return x.OpCode
}
return 0
}
func (x *CSChesstitiansPlayerOp) GetOpParam() []int64 {
if x != nil {
return x.OpParam
}
return nil
}
type SCChesstitiansPlayerOp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpCode int32 `protobuf:"varint,1,opt,name=OpCode,proto3" json:"OpCode,omitempty"` //1出牌 2过牌 3开始游戏
OpParam []int64 `protobuf:"varint,2,rep,packed,name=OpParam,proto3" json:"OpParam,omitempty"` //参数
SnId int32 `protobuf:"varint,3,opt,name=SnId,proto3" json:"SnId,omitempty"` //玩家位置
OpRetCode OpResultCode `protobuf:"varint,4,opt,name=OpRetCode,proto3,enum=chesstitians.OpResultCode" json:"OpRetCode,omitempty"` //返回错误码,详见:enums.proto
Check []bool `protobuf:"varint,5,rep,packed,name=Check,proto3" json:"Check,omitempty"` // 将军 [0]w白方将军 [1]b黑方将军
Checkmate []bool `protobuf:"varint,6,rep,packed,name=Checkmate,proto3" json:"Checkmate,omitempty"` // 将死 [0]w白方将军 [1]b黑方将军
StepSnId int32 `protobuf:"varint,7,opt,name=StepSnId,proto3" json:"StepSnId,omitempty"` // 残局计步发起计步的玩家SnIdStepSnId为0时并且StepLimit大于0时为孤王计步状态
StepNum int64 `protobuf:"varint,8,opt,name=StepNum,proto3" json:"StepNum,omitempty"` // 残局或孤王计步起始回合数
StepLimit int64 `protobuf:"varint,9,opt,name=StepLimit,proto3" json:"StepLimit,omitempty"` // 残局或孤王计步最大回合数
TotalTime []int32 `protobuf:"varint,10,rep,packed,name=TotalTime,proto3" json:"TotalTime,omitempty"` // 下棋总操作时长,单位秒;第一个是当前玩家的操作时长,第二个是另一个玩家的
}
func (x *SCChesstitiansPlayerOp) Reset() {
*x = SCChesstitiansPlayerOp{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCChesstitiansPlayerOp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCChesstitiansPlayerOp) ProtoMessage() {}
func (x *SCChesstitiansPlayerOp) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_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 SCChesstitiansPlayerOp.ProtoReflect.Descriptor instead.
func (*SCChesstitiansPlayerOp) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{5}
}
func (x *SCChesstitiansPlayerOp) GetOpCode() int32 {
if x != nil {
return x.OpCode
}
return 0
}
func (x *SCChesstitiansPlayerOp) GetOpParam() []int64 {
if x != nil {
return x.OpParam
}
return nil
}
func (x *SCChesstitiansPlayerOp) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *SCChesstitiansPlayerOp) GetOpRetCode() OpResultCode {
if x != nil {
return x.OpRetCode
}
return OpResultCode_OPRC_Sucess
}
func (x *SCChesstitiansPlayerOp) GetCheck() []bool {
if x != nil {
return x.Check
}
return nil
}
func (x *SCChesstitiansPlayerOp) GetCheckmate() []bool {
if x != nil {
return x.Checkmate
}
return nil
}
func (x *SCChesstitiansPlayerOp) GetStepSnId() int32 {
if x != nil {
return x.StepSnId
}
return 0
}
func (x *SCChesstitiansPlayerOp) GetStepNum() int64 {
if x != nil {
return x.StepNum
}
return 0
}
func (x *SCChesstitiansPlayerOp) GetStepLimit() int64 {
if x != nil {
return x.StepLimit
}
return 0
}
func (x *SCChesstitiansPlayerOp) GetTotalTime() []int32 {
if x != nil {
return x.TotalTime
}
return nil
}
//玩家进入
type SCChesstitiansPlayerEnter struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Data *ChesstitiansPlayerData `protobuf:"bytes,1,opt,name=Data,proto3" json:"Data,omitempty"` //玩家数据
}
func (x *SCChesstitiansPlayerEnter) Reset() {
*x = SCChesstitiansPlayerEnter{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCChesstitiansPlayerEnter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCChesstitiansPlayerEnter) ProtoMessage() {}
func (x *SCChesstitiansPlayerEnter) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_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 SCChesstitiansPlayerEnter.ProtoReflect.Descriptor instead.
func (*SCChesstitiansPlayerEnter) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{6}
}
func (x *SCChesstitiansPlayerEnter) GetData() *ChesstitiansPlayerData {
if x != nil {
return x.Data
}
return nil
}
//玩家离开
type SCChesstitiansPlayerLeave struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Pos int32 `protobuf:"varint,1,opt,name=Pos,proto3" json:"Pos,omitempty"` //玩家位置
}
func (x *SCChesstitiansPlayerLeave) Reset() {
*x = SCChesstitiansPlayerLeave{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCChesstitiansPlayerLeave) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCChesstitiansPlayerLeave) ProtoMessage() {}
func (x *SCChesstitiansPlayerLeave) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_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 SCChesstitiansPlayerLeave.ProtoReflect.Descriptor instead.
func (*SCChesstitiansPlayerLeave) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{7}
}
func (x *SCChesstitiansPlayerLeave) GetPos() int32 {
if x != nil {
return x.Pos
}
return 0
}
//结算结果
type ChesstitiansPlayerGameBilled struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"` //玩家
Cards []int32 `protobuf:"varint,2,rep,packed,name=Cards,proto3" json:"Cards,omitempty"` // 手牌
WinCoin int64 `protobuf:"varint,3,opt,name=WinCoin,proto3" json:"WinCoin,omitempty"` //输赢金额
GameCoin int64 `protobuf:"varint,4,opt,name=GameCoin,proto3" json:"GameCoin,omitempty"` //结算后身上余额
IsWin int32 `protobuf:"varint,5,opt,name=IsWin,proto3" json:"IsWin,omitempty"` //输赢 赢1 输2 平0
WinTimes int32 `protobuf:"varint,6,opt,name=WinTimes,proto3" json:"WinTimes,omitempty"` // 连胜次数
OtherScore int32 `protobuf:"varint,7,opt,name=OtherScore,proto3" json:"OtherScore,omitempty"` // 额外积分
NextRank int32 `protobuf:"varint,8,opt,name=NextRank,proto3" json:"NextRank,omitempty"` // 再赢几局可晋级
Score int32 `protobuf:"varint,9,opt,name=Score,proto3" json:"Score,omitempty"` // 总积分
WinScore int32 `protobuf:"varint,10,opt,name=WinScore,proto3" json:"WinScore,omitempty"` // 本局积分
OldChessGrade int64 `protobuf:"varint,11,opt,name=OldChessGrade,proto3" json:"OldChessGrade,omitempty"` // 原来的象棋积分
}
func (x *ChesstitiansPlayerGameBilled) Reset() {
*x = ChesstitiansPlayerGameBilled{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChesstitiansPlayerGameBilled) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChesstitiansPlayerGameBilled) ProtoMessage() {}
func (x *ChesstitiansPlayerGameBilled) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_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 ChesstitiansPlayerGameBilled.ProtoReflect.Descriptor instead.
func (*ChesstitiansPlayerGameBilled) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{8}
}
func (x *ChesstitiansPlayerGameBilled) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *ChesstitiansPlayerGameBilled) GetCards() []int32 {
if x != nil {
return x.Cards
}
return nil
}
func (x *ChesstitiansPlayerGameBilled) GetWinCoin() int64 {
if x != nil {
return x.WinCoin
}
return 0
}
func (x *ChesstitiansPlayerGameBilled) GetGameCoin() int64 {
if x != nil {
return x.GameCoin
}
return 0
}
func (x *ChesstitiansPlayerGameBilled) GetIsWin() int32 {
if x != nil {
return x.IsWin
}
return 0
}
func (x *ChesstitiansPlayerGameBilled) GetWinTimes() int32 {
if x != nil {
return x.WinTimes
}
return 0
}
func (x *ChesstitiansPlayerGameBilled) GetOtherScore() int32 {
if x != nil {
return x.OtherScore
}
return 0
}
func (x *ChesstitiansPlayerGameBilled) GetNextRank() int32 {
if x != nil {
return x.NextRank
}
return 0
}
func (x *ChesstitiansPlayerGameBilled) GetScore() int32 {
if x != nil {
return x.Score
}
return 0
}
func (x *ChesstitiansPlayerGameBilled) GetWinScore() int32 {
if x != nil {
return x.WinScore
}
return 0
}
func (x *ChesstitiansPlayerGameBilled) GetOldChessGrade() int64 {
if x != nil {
return x.OldChessGrade
}
return 0
}
type SCChesstitiansGameBilled struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Datas []*ChesstitiansPlayerGameBilled `protobuf:"bytes,1,rep,name=Datas,proto3" json:"Datas,omitempty"`
}
func (x *SCChesstitiansGameBilled) Reset() {
*x = SCChesstitiansGameBilled{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCChesstitiansGameBilled) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCChesstitiansGameBilled) ProtoMessage() {}
func (x *SCChesstitiansGameBilled) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_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 SCChesstitiansGameBilled.ProtoReflect.Descriptor instead.
func (*SCChesstitiansGameBilled) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{9}
}
func (x *SCChesstitiansGameBilled) GetDatas() []*ChesstitiansPlayerGameBilled {
if x != nil {
return x.Datas
}
return nil
}
//小结算结果(炸的分)
type SCChesstitiansSmallGameBilled struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
WinPos int32 `protobuf:"varint,1,opt,name=WinPos,proto3" json:"WinPos,omitempty"` //赢家
WinPosCoin int64 `protobuf:"varint,2,opt,name=WinPosCoin,proto3" json:"WinPosCoin,omitempty"` //结算后赢家身上余额
LosePos int32 `protobuf:"varint,3,opt,name=LosePos,proto3" json:"LosePos,omitempty"` //输家
LosePosCoin int64 `protobuf:"varint,4,opt,name=LosePosCoin,proto3" json:"LosePosCoin,omitempty"` //结算后输家身上余额
WinCoin int64 `protobuf:"varint,5,opt,name=WinCoin,proto3" json:"WinCoin,omitempty"` //赢金额
LoseCoin int64 `protobuf:"varint,6,opt,name=LoseCoin,proto3" json:"LoseCoin,omitempty"` //输金额
}
func (x *SCChesstitiansSmallGameBilled) Reset() {
*x = SCChesstitiansSmallGameBilled{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCChesstitiansSmallGameBilled) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCChesstitiansSmallGameBilled) ProtoMessage() {}
func (x *SCChesstitiansSmallGameBilled) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_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 SCChesstitiansSmallGameBilled.ProtoReflect.Descriptor instead.
func (*SCChesstitiansSmallGameBilled) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{10}
}
func (x *SCChesstitiansSmallGameBilled) GetWinPos() int32 {
if x != nil {
return x.WinPos
}
return 0
}
func (x *SCChesstitiansSmallGameBilled) GetWinPosCoin() int64 {
if x != nil {
return x.WinPosCoin
}
return 0
}
func (x *SCChesstitiansSmallGameBilled) GetLosePos() int32 {
if x != nil {
return x.LosePos
}
return 0
}
func (x *SCChesstitiansSmallGameBilled) GetLosePosCoin() int64 {
if x != nil {
return x.LosePosCoin
}
return 0
}
func (x *SCChesstitiansSmallGameBilled) GetWinCoin() int64 {
if x != nil {
return x.WinCoin
}
return 0
}
func (x *SCChesstitiansSmallGameBilled) GetLoseCoin() int64 {
if x != nil {
return x.LoseCoin
}
return 0
}
//发牌
type SCChesstitiansCard struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Cards []int32 `protobuf:"varint,1,rep,packed,name=Cards,proto3" json:"Cards,omitempty"` //手牌
Chess []string `protobuf:"bytes,2,rep,name=Chess,proto3" json:"Chess,omitempty"` // 棋盘数据
Act string `protobuf:"bytes,3,opt,name=Act,proto3" json:"Act,omitempty"` // 该谁走 w b
Castling []bool `protobuf:"varint,4,rep,packed,name=Castling,proto3" json:"Castling,omitempty"` // 王车易位可行性
Enpassant int32 `protobuf:"varint,5,opt,name=Enpassant,proto3" json:"Enpassant,omitempty"` // 过路兵位置
ChessRound int32 `protobuf:"varint,6,opt,name=ChessRound,proto3" json:"ChessRound,omitempty"` // 当前回合数
CambodianMove []bool `protobuf:"varint,7,rep,packed,name=CambodianMove,proto3" json:"CambodianMove,omitempty"` // 王车易位可行性
Check []bool `protobuf:"varint,8,rep,packed,name=Check,proto3" json:"Check,omitempty"` // 将军 [0]w白方将军 [1]b黑方将军
Checkmate []bool `protobuf:"varint,9,rep,packed,name=Checkmate,proto3" json:"Checkmate,omitempty"` // 将死 [0]w白方将军 [1]b黑方将军
}
func (x *SCChesstitiansCard) Reset() {
*x = SCChesstitiansCard{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCChesstitiansCard) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCChesstitiansCard) ProtoMessage() {}
func (x *SCChesstitiansCard) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_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 SCChesstitiansCard.ProtoReflect.Descriptor instead.
func (*SCChesstitiansCard) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{11}
}
func (x *SCChesstitiansCard) GetCards() []int32 {
if x != nil {
return x.Cards
}
return nil
}
func (x *SCChesstitiansCard) GetChess() []string {
if x != nil {
return x.Chess
}
return nil
}
func (x *SCChesstitiansCard) GetAct() string {
if x != nil {
return x.Act
}
return ""
}
func (x *SCChesstitiansCard) GetCastling() []bool {
if x != nil {
return x.Castling
}
return nil
}
func (x *SCChesstitiansCard) GetEnpassant() int32 {
if x != nil {
return x.Enpassant
}
return 0
}
func (x *SCChesstitiansCard) GetChessRound() int32 {
if x != nil {
return x.ChessRound
}
return 0
}
func (x *SCChesstitiansCard) GetCambodianMove() []bool {
if x != nil {
return x.CambodianMove
}
return nil
}
func (x *SCChesstitiansCard) GetCheck() []bool {
if x != nil {
return x.Check
}
return nil
}
func (x *SCChesstitiansCard) GetCheckmate() []bool {
if x != nil {
return x.Checkmate
}
return nil
}
//测试数据
type SCChesstitiansCardTest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Grades map[int32]int32 `protobuf:"bytes,1,rep,name=Grades,proto3" json:"Grades,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
Type int32 `protobuf:"varint,2,opt,name=Type,proto3" json:"Type,omitempty"` //1最小 2随机 3最大
Totalin int64 `protobuf:"varint,3,opt,name=Totalin,proto3" json:"Totalin,omitempty"` //投入
Totalout int64 `protobuf:"varint,4,opt,name=Totalout,proto3" json:"Totalout,omitempty"` //产出
LoseRate float64 `protobuf:"fixed64,5,opt,name=LoseRate,proto3" json:"LoseRate,omitempty"` //赔率
}
func (x *SCChesstitiansCardTest) Reset() {
*x = SCChesstitiansCardTest{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCChesstitiansCardTest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCChesstitiansCardTest) ProtoMessage() {}
func (x *SCChesstitiansCardTest) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_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 SCChesstitiansCardTest.ProtoReflect.Descriptor instead.
func (*SCChesstitiansCardTest) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{12}
}
func (x *SCChesstitiansCardTest) GetGrades() map[int32]int32 {
if x != nil {
return x.Grades
}
return nil
}
func (x *SCChesstitiansCardTest) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *SCChesstitiansCardTest) GetTotalin() int64 {
if x != nil {
return x.Totalin
}
return 0
}
func (x *SCChesstitiansCardTest) GetTotalout() int64 {
if x != nil {
return x.Totalout
}
return 0
}
func (x *SCChesstitiansCardTest) GetLoseRate() float64 {
if x != nil {
return x.LoseRate
}
return 0
}
type SCChesstitiansCurOpPos struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Pos int32 `protobuf:"varint,1,opt,name=Pos,proto3" json:"Pos,omitempty"` //座位位置
IsNew bool `protobuf:"varint,2,opt,name=IsNew,proto3" json:"IsNew,omitempty"` //新一轮开始出牌
Cards []int32 `protobuf:"varint,3,rep,packed,name=Cards,proto3" json:"Cards,omitempty"` //上家出的牌
ExDelay int32 `protobuf:"varint,4,opt,name=ExDelay,proto3" json:"ExDelay,omitempty"` //出牌额外延迟时间s
}
func (x *SCChesstitiansCurOpPos) Reset() {
*x = SCChesstitiansCurOpPos{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCChesstitiansCurOpPos) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCChesstitiansCurOpPos) ProtoMessage() {}
func (x *SCChesstitiansCurOpPos) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_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 SCChesstitiansCurOpPos.ProtoReflect.Descriptor instead.
func (*SCChesstitiansCurOpPos) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{13}
}
func (x *SCChesstitiansCurOpPos) GetPos() int32 {
if x != nil {
return x.Pos
}
return 0
}
func (x *SCChesstitiansCurOpPos) GetIsNew() bool {
if x != nil {
return x.IsNew
}
return false
}
func (x *SCChesstitiansCurOpPos) GetCards() []int32 {
if x != nil {
return x.Cards
}
return nil
}
func (x *SCChesstitiansCurOpPos) GetExDelay() int32 {
if x != nil {
return x.ExDelay
}
return 0
}
type SCChesstitiansUpdateMasterSnid struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MasterSnid int32 `protobuf:"varint,1,opt,name=MasterSnid,proto3" json:"MasterSnid,omitempty"` //房主
}
func (x *SCChesstitiansUpdateMasterSnid) Reset() {
*x = SCChesstitiansUpdateMasterSnid{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCChesstitiansUpdateMasterSnid) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCChesstitiansUpdateMasterSnid) ProtoMessage() {}
func (x *SCChesstitiansUpdateMasterSnid) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_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 SCChesstitiansUpdateMasterSnid.ProtoReflect.Descriptor instead.
func (*SCChesstitiansUpdateMasterSnid) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{14}
}
func (x *SCChesstitiansUpdateMasterSnid) GetMasterSnid() int32 {
if x != nil {
return x.MasterSnid
}
return 0
}
//PACKET_SCChesstitiansUpdateAudienceNum
type SCChesstitiansUpdateAudienceNum struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AudienceNum int32 `protobuf:"varint,1,opt,name=AudienceNum,proto3" json:"AudienceNum,omitempty"` //当前观战人数
}
func (x *SCChesstitiansUpdateAudienceNum) Reset() {
*x = SCChesstitiansUpdateAudienceNum{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCChesstitiansUpdateAudienceNum) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCChesstitiansUpdateAudienceNum) ProtoMessage() {}
func (x *SCChesstitiansUpdateAudienceNum) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCChesstitiansUpdateAudienceNum.ProtoReflect.Descriptor instead.
func (*SCChesstitiansUpdateAudienceNum) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{15}
}
func (x *SCChesstitiansUpdateAudienceNum) GetAudienceNum() int32 {
if x != nil {
return x.AudienceNum
}
return 0
}
type SCChesstitiansAIData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BombNum int32 `protobuf:"varint,1,opt,name=Bomb_num,json=BombNum,proto3" json:"Bomb_num,omitempty"` //炸弹数量
CardPlayActionSeq string `protobuf:"bytes,2,opt,name=Card_play_action_seq,json=CardPlayActionSeq,proto3" json:"Card_play_action_seq,omitempty"` //出牌历史记录
LastMove_0 string `protobuf:"bytes,3,opt,name=Last_move_0,json=LastMove0,proto3" json:"Last_move_0,omitempty"` //最后出牌
LastMove_1 string `protobuf:"bytes,4,opt,name=Last_move_1,json=LastMove1,proto3" json:"Last_move_1,omitempty"` //最后出牌
LastMove_2 string `protobuf:"bytes,5,opt,name=Last_move_2,json=LastMove2,proto3" json:"Last_move_2,omitempty"` //最后出牌
LastMove_3 string `protobuf:"bytes,6,opt,name=Last_move_3,json=LastMove3,proto3" json:"Last_move_3,omitempty"` //最后出牌
NumCardsLeft_0 int32 `protobuf:"varint,7,opt,name=Num_cards_left_0,json=NumCardsLeft0,proto3" json:"Num_cards_left_0,omitempty"` //剩余牌数
NumCardsLeft_1 int32 `protobuf:"varint,8,opt,name=Num_cards_left_1,json=NumCardsLeft1,proto3" json:"Num_cards_left_1,omitempty"` //剩余牌数
NumCardsLeft_2 int32 `protobuf:"varint,9,opt,name=Num_cards_left_2,json=NumCardsLeft2,proto3" json:"Num_cards_left_2,omitempty"` //剩余牌数
NumCardsLeft_3 int32 `protobuf:"varint,10,opt,name=Num_cards_left_3,json=NumCardsLeft3,proto3" json:"Num_cards_left_3,omitempty"` //剩余牌数
OtherHandCards string `protobuf:"bytes,11,opt,name=Other_hand_cards,json=OtherHandCards,proto3" json:"Other_hand_cards,omitempty"` //其它人手牌
PlayedCards_0 string `protobuf:"bytes,12,opt,name=Played_cards_0,json=PlayedCards0,proto3" json:"Played_cards_0,omitempty"` //出过的牌
PlayedCards_1 string `protobuf:"bytes,13,opt,name=Played_cards_1,json=PlayedCards1,proto3" json:"Played_cards_1,omitempty"` //出过的牌
PlayedCards_2 string `protobuf:"bytes,14,opt,name=Played_cards_2,json=PlayedCards2,proto3" json:"Played_cards_2,omitempty"` //出过的牌
PlayedCards_3 string `protobuf:"bytes,15,opt,name=Played_cards_3,json=PlayedCards3,proto3" json:"Played_cards_3,omitempty"` //出过的牌
PlayerHandCards string `protobuf:"bytes,16,opt,name=Player_hand_cards,json=PlayerHandCards,proto3" json:"Player_hand_cards,omitempty"` //手牌
PlayerPosition int32 `protobuf:"varint,17,opt,name=Player_position,json=PlayerPosition,proto3" json:"Player_position,omitempty"` //当前操作数置
}
func (x *SCChesstitiansAIData) Reset() {
*x = SCChesstitiansAIData{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCChesstitiansAIData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCChesstitiansAIData) ProtoMessage() {}
func (x *SCChesstitiansAIData) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCChesstitiansAIData.ProtoReflect.Descriptor instead.
func (*SCChesstitiansAIData) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{16}
}
func (x *SCChesstitiansAIData) GetBombNum() int32 {
if x != nil {
return x.BombNum
}
return 0
}
func (x *SCChesstitiansAIData) GetCardPlayActionSeq() string {
if x != nil {
return x.CardPlayActionSeq
}
return ""
}
func (x *SCChesstitiansAIData) GetLastMove_0() string {
if x != nil {
return x.LastMove_0
}
return ""
}
func (x *SCChesstitiansAIData) GetLastMove_1() string {
if x != nil {
return x.LastMove_1
}
return ""
}
func (x *SCChesstitiansAIData) GetLastMove_2() string {
if x != nil {
return x.LastMove_2
}
return ""
}
func (x *SCChesstitiansAIData) GetLastMove_3() string {
if x != nil {
return x.LastMove_3
}
return ""
}
func (x *SCChesstitiansAIData) GetNumCardsLeft_0() int32 {
if x != nil {
return x.NumCardsLeft_0
}
return 0
}
func (x *SCChesstitiansAIData) GetNumCardsLeft_1() int32 {
if x != nil {
return x.NumCardsLeft_1
}
return 0
}
func (x *SCChesstitiansAIData) GetNumCardsLeft_2() int32 {
if x != nil {
return x.NumCardsLeft_2
}
return 0
}
func (x *SCChesstitiansAIData) GetNumCardsLeft_3() int32 {
if x != nil {
return x.NumCardsLeft_3
}
return 0
}
func (x *SCChesstitiansAIData) GetOtherHandCards() string {
if x != nil {
return x.OtherHandCards
}
return ""
}
func (x *SCChesstitiansAIData) GetPlayedCards_0() string {
if x != nil {
return x.PlayedCards_0
}
return ""
}
func (x *SCChesstitiansAIData) GetPlayedCards_1() string {
if x != nil {
return x.PlayedCards_1
}
return ""
}
func (x *SCChesstitiansAIData) GetPlayedCards_2() string {
if x != nil {
return x.PlayedCards_2
}
return ""
}
func (x *SCChesstitiansAIData) GetPlayedCards_3() string {
if x != nil {
return x.PlayedCards_3
}
return ""
}
func (x *SCChesstitiansAIData) GetPlayerHandCards() string {
if x != nil {
return x.PlayerHandCards
}
return ""
}
func (x *SCChesstitiansAIData) GetPlayerPosition() int32 {
if x != nil {
return x.PlayerPosition
}
return 0
}
//PACKET_SCChesstitiansFirstOpPos
type SCChesstitiansFirstOpPos struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Pos int32 `protobuf:"varint,1,opt,name=Pos,proto3" json:"Pos,omitempty"` //座位位置
}
func (x *SCChesstitiansFirstOpPos) Reset() {
*x = SCChesstitiansFirstOpPos{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCChesstitiansFirstOpPos) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCChesstitiansFirstOpPos) ProtoMessage() {}
func (x *SCChesstitiansFirstOpPos) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCChesstitiansFirstOpPos.ProtoReflect.Descriptor instead.
func (*SCChesstitiansFirstOpPos) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{17}
}
func (x *SCChesstitiansFirstOpPos) GetPos() int32 {
if x != nil {
return x.Pos
}
return 0
}
//玩家操作
type CSChesstitiansPlayerDevOp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpCode int32 `protobuf:"varint,1,opt,name=OpCode,proto3" json:"OpCode,omitempty"` // 1重设棋盘
OpParamStr []string `protobuf:"bytes,2,rep,name=OpParamStr,proto3" json:"OpParamStr,omitempty"` // 棋盘棋子状态
CurOpIdx int32 `protobuf:"varint,3,opt,name=curOpIdx,proto3" json:"curOpIdx,omitempty"` // 当前谁操作
}
func (x *CSChesstitiansPlayerDevOp) Reset() {
*x = CSChesstitiansPlayerDevOp{}
if protoimpl.UnsafeEnabled {
mi := &file_chesstitians_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSChesstitiansPlayerDevOp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSChesstitiansPlayerDevOp) ProtoMessage() {}
func (x *CSChesstitiansPlayerDevOp) ProtoReflect() protoreflect.Message {
mi := &file_chesstitians_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSChesstitiansPlayerDevOp.ProtoReflect.Descriptor instead.
func (*CSChesstitiansPlayerDevOp) Descriptor() ([]byte, []int) {
return file_chesstitians_proto_rawDescGZIP(), []int{18}
}
func (x *CSChesstitiansPlayerDevOp) GetOpCode() int32 {
if x != nil {
return x.OpCode
}
return 0
}
func (x *CSChesstitiansPlayerDevOp) GetOpParamStr() []string {
if x != nil {
return x.OpParamStr
}
return nil
}
func (x *CSChesstitiansPlayerDevOp) GetCurOpIdx() int32 {
if x != nil {
return x.CurOpIdx
}
return 0
}
var File_chesstitians_proto protoreflect.FileDescriptor
var file_chesstitians_proto_rawDesc = []byte{
0x0a, 0x12, 0x63, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x63, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61,
0x6e, 0x73, 0x22, 0x87, 0x08, 0x0a, 0x16, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69,
0x61, 0x6e, 0x73, 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, 0x16, 0x0a, 0x06, 0x50,
0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x50, 0x61, 0x72,
0x61, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28,
0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x07,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x6c, 0x61,
0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1c, 0x0a,
0x09, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05,
0x52, 0x09, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c,
0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4c,
0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x69, 0x74, 0x79, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x4c,
0x61, 0x73, 0x74, 0x4f, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4c, 0x61, 0x73,
0x74, 0x4f, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x49, 0x50, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05,
0x52, 0x03, 0x56, 0x49, 0x50, 0x12, 0x20, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x75, 0x74,
0x4c, 0x69, 0x6e, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x48, 0x65, 0x61, 0x64,
0x4f, 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4e, 0x69, 0x63, 0x65, 0x49,
0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4e, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12,
0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05,
0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x43, 0x75, 0x72, 0x52, 0x6f, 0x75, 0x6e,
0x64, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x65, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52,
0x10, 0x43, 0x75, 0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x65,
0x74, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x12, 0x20,
0x01, 0x28, 0x03, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x16, 0x0a,
0x06, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52,
0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x14,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69,
0x61, 0x6e, 0x73, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73,
0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x20, 0x0a, 0x0b,
0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x0e,
0x0a, 0x02, 0x4c, 0x76, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4c, 0x76, 0x12, 0x1a,
0x0a, 0x08, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05,
0x52, 0x08, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f,
0x70, 0x79, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
0x43, 0x6f, 0x70, 0x79, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73,
0x42, 0x6c, 0x61, 0x63, 0x6b, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x49, 0x73, 0x42,
0x6c, 0x61, 0x63, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x68, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61,
0x64, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x43, 0x68, 0x65, 0x73, 0x73, 0x47,
0x72, 0x61, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x73, 0x57, 0x69, 0x6e, 0x18, 0x1b, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x49, 0x73, 0x57, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x57, 0x69,
0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x57, 0x69,
0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x53,
0x63, 0x6f, 0x72, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4f, 0x74, 0x68, 0x65,
0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x61,
0x6e, 0x6b, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x61,
0x6e, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x57, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x1f,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x57, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14,
0x0a, 0x05, 0x49, 0x73, 0x52, 0x6f, 0x62, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x49,
0x73, 0x52, 0x6f, 0x62, 0x12, 0x18, 0x0a, 0x07, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x18,
0x21, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x24,
0x0a, 0x0d, 0x4f, 0x6c, 0x64, 0x43, 0x68, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18,
0x22, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x4f, 0x6c, 0x64, 0x43, 0x68, 0x65, 0x73, 0x73, 0x47,
0x72, 0x61, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d,
0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69,
0x6d, 0x65, 0x1a, 0x38, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x23, 0x0a, 0x0b,
0x4c, 0x61, 0x73, 0x74, 0x44, 0x65, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43,
0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64,
0x73, 0x22, 0xd1, 0x09, 0x0a, 0x16, 0x53, 0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74,
0x69, 0x61, 0x6e, 0x73, 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, 0x1c, 0x0a, 0x09, 0x42, 0x61,
0x6e, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x42,
0x61, 0x6e, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74,
0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18,
0x0a, 0x07, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52,
0x07, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x75, 0x74, 0x12, 0x3e, 0x0a, 0x07, 0x50, 0x6c, 0x61, 0x79,
0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x68, 0x65, 0x73,
0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69,
0x74, 0x69, 0x61, 0x6e, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52,
0x07, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69,
0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x41,
0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x75,
0x72, 0x4f, 0x70, 0x49, 0x64, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x75,
0x72, 0x4f, 0x70, 0x49, 0x64, 0x78, 0x12, 0x3d, 0x0a, 0x0c, 0x4c, 0x61, 0x73, 0x74, 0x44, 0x65,
0x6c, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63,
0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x2e, 0x4c, 0x61, 0x73, 0x74,
0x44, 0x65, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x52, 0x0c, 0x4c, 0x61, 0x73, 0x74, 0x44, 0x65, 0x6c,
0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x4e, 0x75, 0x6d, 0x4f, 0x66, 0x47, 0x61,
0x6d, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4e, 0x75, 0x6d, 0x4f, 0x66,
0x47, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x66,
0x47, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x54, 0x6f, 0x74,
0x61, 0x6c, 0x4f, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x73,
0x74, 0x65, 0x72, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d,
0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x73,
0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x42, 0x61,
0x73, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x4d, 0x61, 0x78, 0x50, 0x6c,
0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x4d,
0x61, 0x78, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x57,
0x69, 0x6e, 0x53, 0x6e, 0x69, 0x64, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x57,
0x69, 0x6e, 0x53, 0x6e, 0x69, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x4d, 0x61, 0x74,
0x63, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x49, 0x73, 0x4d, 0x61, 0x74, 0x63,
0x68, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x75, 0x72, 0x50, 0x6c,
0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x43,
0x75, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x4e,
0x65, 0x78, 0x74, 0x4e, 0x65, 0x65, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4e,
0x65, 0x78, 0x74, 0x4e, 0x65, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68,
0x46, 0x69, 0x6e, 0x61, 0x6c, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4d, 0x61,
0x74, 0x63, 0x68, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x68, 0x65,
0x73, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x43, 0x68, 0x65, 0x73, 0x73, 0x12,
0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x18, 0x1c, 0x20, 0x03, 0x28,
0x05, 0x52, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x41,
0x63, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x41, 0x63, 0x74, 0x12, 0x1a, 0x0a,
0x08, 0x43, 0x61, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x08, 0x52,
0x08, 0x43, 0x61, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, 0x70,
0x61, 0x73, 0x73, 0x61, 0x6e, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x45, 0x6e,
0x70, 0x61, 0x73, 0x73, 0x61, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x68, 0x65, 0x73, 0x73,
0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x20, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x68, 0x65,
0x73, 0x73, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x61, 0x72, 0x69, 0x61,
0x6e, 0x74, 0x18, 0x21, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e,
0x74, 0x12, 0x24, 0x0a, 0x0d, 0x43, 0x61, 0x6d, 0x62, 0x6f, 0x64, 0x69, 0x61, 0x6e, 0x4d, 0x6f,
0x76, 0x65, 0x18, 0x22, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0d, 0x43, 0x61, 0x6d, 0x62, 0x6f, 0x64,
0x69, 0x61, 0x6e, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b,
0x18, 0x23, 0x20, 0x03, 0x28, 0x08, 0x52, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1c, 0x0a,
0x09, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x65, 0x18, 0x24, 0x20, 0x03, 0x28, 0x08,
0x52, 0x09, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53,
0x74, 0x65, 0x70, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x25, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53,
0x74, 0x65, 0x70, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x74, 0x65, 0x70, 0x4e,
0x75, 0x6d, 0x18, 0x26, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x53, 0x74, 0x65, 0x70, 0x4e, 0x75,
0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x65, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x27,
0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x53, 0x74, 0x65, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12,
0x1a, 0x0a, 0x08, 0x44, 0x72, 0x61, 0x77, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x28, 0x20, 0x01, 0x28,
0x05, 0x52, 0x08, 0x44, 0x72, 0x61, 0x77, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4e,
0x65, 0x78, 0x74, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x29, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4e,
0x65, 0x78, 0x74, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46,
0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d,
0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x63, 0x65, 0x6e, 0x65,
0x54, 0x79, 0x70, 0x65, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x63, 0x65, 0x6e,
0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x47, 0x0a, 0x17, 0x53, 0x43, 0x43, 0x68, 0x65, 0x73, 0x73,
0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 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, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x4a,
0x0a, 0x16, 0x43, 0x53, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73,
0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 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, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28,
0x03, 0x52, 0x07, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0xbe, 0x02, 0x0a, 0x16, 0x53,
0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x50, 0x6c, 0x61,
0x79, 0x65, 0x72, 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, 0x18, 0x0a,
0x07, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07,
0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x09, 0x4f,
0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a,
0x2e, 0x63, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x2e, 0x4f, 0x70,
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65,
0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x05,
0x20, 0x03, 0x28, 0x08, 0x52, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x43,
0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x08, 0x52, 0x09,
0x43, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x74, 0x65,
0x70, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x74, 0x65,
0x70, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x74, 0x65, 0x70, 0x4e, 0x75, 0x6d,
0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x53, 0x74, 0x65, 0x70, 0x4e, 0x75, 0x6d, 0x12,
0x1c, 0x0a, 0x09, 0x53, 0x74, 0x65, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x09, 0x20, 0x01,
0x28, 0x03, 0x52, 0x09, 0x53, 0x74, 0x65, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a,
0x09, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x05,
0x52, 0x09, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x55, 0x0a, 0x19, 0x53,
0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x50, 0x6c, 0x61,
0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69,
0x74, 0x69, 0x61, 0x6e, 0x73, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61,
0x6e, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61,
0x74, 0x61, 0x22, 0x2d, 0x0a, 0x19, 0x53, 0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74,
0x69, 0x61, 0x6e, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x12,
0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f,
0x73, 0x22, 0xc4, 0x02, 0x0a, 0x1c, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61,
0x6e, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x69, 0x6c, 0x6c,
0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18,
0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07,
0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x57,
0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f,
0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f,
0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x73, 0x57, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x49, 0x73, 0x57, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x57, 0x69, 0x6e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x57, 0x69, 0x6e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x63, 0x6f,
0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x53,
0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x61, 0x6e, 0x6b,
0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x61, 0x6e, 0x6b,
0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52,
0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x57, 0x69, 0x6e, 0x53, 0x63, 0x6f,
0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x57, 0x69, 0x6e, 0x53, 0x63, 0x6f,
0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6c, 0x64, 0x43, 0x68, 0x65, 0x73, 0x73, 0x47, 0x72,
0x61, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x4f, 0x6c, 0x64, 0x43, 0x68,
0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x64, 0x65, 0x22, 0x5c, 0x0a, 0x18, 0x53, 0x43, 0x43, 0x68,
0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x69,
0x6c, 0x6c, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61,
0x6e, 0x73, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x50,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x52,
0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x1d, 0x53, 0x43, 0x43, 0x68, 0x65,
0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x47, 0x61,
0x6d, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x57, 0x69, 0x6e, 0x50,
0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x57, 0x69, 0x6e, 0x50, 0x6f, 0x73,
0x12, 0x1e, 0x0a, 0x0a, 0x57, 0x69, 0x6e, 0x50, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x57, 0x69, 0x6e, 0x50, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e,
0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
0x05, 0x52, 0x07, 0x4c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x4c, 0x6f,
0x73, 0x65, 0x50, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0b, 0x4c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07,
0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x57,
0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x73, 0x65, 0x43, 0x6f,
0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x4c, 0x6f, 0x73, 0x65, 0x43, 0x6f,
0x69, 0x6e, 0x22, 0x86, 0x02, 0x0a, 0x12, 0x53, 0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69,
0x74, 0x69, 0x61, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72,
0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12,
0x14, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05,
0x43, 0x68, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x41, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x73, 0x74, 0x6c,
0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x08, 0x52, 0x08, 0x43, 0x61, 0x73, 0x74, 0x6c,
0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, 0x70, 0x61, 0x73, 0x73, 0x61, 0x6e, 0x74,
0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x45, 0x6e, 0x70, 0x61, 0x73, 0x73, 0x61, 0x6e,
0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18,
0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x6f, 0x75, 0x6e,
0x64, 0x12, 0x24, 0x0a, 0x0d, 0x43, 0x61, 0x6d, 0x62, 0x6f, 0x64, 0x69, 0x61, 0x6e, 0x4d, 0x6f,
0x76, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0d, 0x43, 0x61, 0x6d, 0x62, 0x6f, 0x64,
0x69, 0x61, 0x6e, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b,
0x18, 0x08, 0x20, 0x03, 0x28, 0x08, 0x52, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1c, 0x0a,
0x09, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x08,
0x52, 0x09, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x65, 0x22, 0x83, 0x02, 0x0a, 0x16,
0x53, 0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x43, 0x61,
0x72, 0x64, 0x54, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x47, 0x72, 0x61, 0x64, 0x65, 0x73,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69,
0x74, 0x69, 0x61, 0x6e, 0x73, 0x2e, 0x53, 0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74,
0x69, 0x61, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x54, 0x65, 0x73, 0x74, 0x2e, 0x47, 0x72, 0x61,
0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x47, 0x72, 0x61, 0x64, 0x65, 0x73,
0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x69, 0x6e, 0x18,
0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x69, 0x6e, 0x12, 0x1a,
0x0a, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
0x52, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f,
0x73, 0x65, 0x52, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x4c, 0x6f,
0x73, 0x65, 0x52, 0x61, 0x74, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x47, 0x72, 0x61, 0x64, 0x65, 0x73,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x22, 0x70, 0x0a, 0x16, 0x53, 0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69,
0x61, 0x6e, 0x73, 0x43, 0x75, 0x72, 0x4f, 0x70, 0x50, 0x6f, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x50,
0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x12, 0x14, 0x0a,
0x05, 0x49, 0x73, 0x4e, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x49, 0x73,
0x4e, 0x65, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03,
0x28, 0x05, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x78, 0x44,
0x65, 0x6c, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x78, 0x44, 0x65,
0x6c, 0x61, 0x79, 0x22, 0x40, 0x0a, 0x1e, 0x53, 0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69,
0x74, 0x69, 0x61, 0x6e, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x74, 0x65,
0x72, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53,
0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x73, 0x74, 0x65,
0x72, 0x53, 0x6e, 0x69, 0x64, 0x22, 0x43, 0x0a, 0x1f, 0x53, 0x43, 0x43, 0x68, 0x65, 0x73, 0x73,
0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64,
0x69, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69,
0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x41,
0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x9d, 0x05, 0x0a, 0x14, 0x53,
0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x41, 0x49, 0x44,
0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x42, 0x6f, 0x6d, 0x62, 0x5f, 0x6e, 0x75, 0x6d, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x42, 0x6f, 0x6d, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x2f,
0x0a, 0x14, 0x43, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x61, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x43, 0x61,
0x72, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x12,
0x1e, 0x0a, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x30, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x30, 0x12,
0x1e, 0x0a, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x31, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x31, 0x12,
0x1e, 0x0a, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x32, 0x18, 0x05,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x32, 0x12,
0x1e, 0x0a, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x33, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x33, 0x12,
0x27, 0x0a, 0x10, 0x4e, 0x75, 0x6d, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x6c, 0x65, 0x66,
0x74, 0x5f, 0x30, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4e, 0x75, 0x6d, 0x43, 0x61,
0x72, 0x64, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x30, 0x12, 0x27, 0x0a, 0x10, 0x4e, 0x75, 0x6d, 0x5f,
0x63, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x31, 0x18, 0x08, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0d, 0x4e, 0x75, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x73, 0x4c, 0x65, 0x66, 0x74,
0x31, 0x12, 0x27, 0x0a, 0x10, 0x4e, 0x75, 0x6d, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x6c,
0x65, 0x66, 0x74, 0x5f, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4e, 0x75, 0x6d,
0x43, 0x61, 0x72, 0x64, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x32, 0x12, 0x27, 0x0a, 0x10, 0x4e, 0x75,
0x6d, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x33, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4e, 0x75, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x73, 0x4c, 0x65,
0x66, 0x74, 0x33, 0x12, 0x28, 0x0a, 0x10, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x6e,
0x64, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x4f,
0x74, 0x68, 0x65, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x24, 0x0a,
0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x30, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72,
0x64, 0x73, 0x30, 0x12, 0x24, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x5f, 0x63, 0x61,
0x72, 0x64, 0x73, 0x5f, 0x31, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x50, 0x6c, 0x61,
0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x31, 0x12, 0x24, 0x0a, 0x0e, 0x50, 0x6c, 0x61,
0x79, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x32, 0x18, 0x0e, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x32, 0x12,
0x24, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x5f,
0x33, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43,
0x61, 0x72, 0x64, 0x73, 0x33, 0x12, 0x2a, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f,
0x68, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64,
0x73, 0x12, 0x27, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x73, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x50, 0x6c, 0x61, 0x79,
0x65, 0x72, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x18, 0x53, 0x43,
0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x46, 0x69, 0x72, 0x73,
0x74, 0x4f, 0x70, 0x50, 0x6f, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x22, 0x6f, 0x0a, 0x19, 0x43, 0x53, 0x43, 0x68,
0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
0x44, 0x65, 0x76, 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, 0x1e, 0x0a,
0x0a, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x53, 0x74, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28,
0x09, 0x52, 0x0a, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x53, 0x74, 0x72, 0x12, 0x1a, 0x0a,
0x08, 0x63, 0x75, 0x72, 0x4f, 0x70, 0x49, 0x64, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
0x08, 0x63, 0x75, 0x72, 0x4f, 0x70, 0x49, 0x64, 0x78, 0x2a, 0x2f, 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, 0x2a, 0xb6, 0x05, 0x0a, 0x14, 0x43,
0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65,
0x74, 0x49, 0x44, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x68,
0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00,
0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x43, 0x68, 0x65,
0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66,
0x6f, 0x10, 0xde, 0x2a, 0x12, 0x23, 0x0a, 0x1e, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53,
0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x52, 0x6f, 0x6f,
0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0xdf, 0x2a, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43,
0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61,
0x6e, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x10, 0xe0, 0x2a, 0x12, 0x22, 0x0a,
0x1d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74,
0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x10, 0xe1,
0x2a, 0x12, 0x25, 0x0a, 0x20, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x43, 0x68,
0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
0x45, 0x6e, 0x74, 0x65, 0x72, 0x10, 0xe2, 0x2a, 0x12, 0x25, 0x0a, 0x20, 0x50, 0x41, 0x43, 0x4b,
0x45, 0x54, 0x5f, 0x53, 0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e,
0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x10, 0xe3, 0x2a, 0x12,
0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x43, 0x68, 0x65, 0x73,
0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x10, 0xe4, 0x2a, 0x12,
0x24, 0x0a, 0x1f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x43, 0x68, 0x65, 0x73,
0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x69, 0x6c, 0x6c,
0x65, 0x64, 0x10, 0xe5, 0x2a, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
0x53, 0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x43, 0x75,
0x72, 0x4f, 0x70, 0x50, 0x6f, 0x73, 0x10, 0xe6, 0x2a, 0x12, 0x29, 0x0a, 0x24, 0x50, 0x41, 0x43,
0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61,
0x6e, 0x73, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x65,
0x64, 0x10, 0xe7, 0x2a, 0x12, 0x2a, 0x0a, 0x25, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53,
0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6e, 0x69, 0x64, 0x10, 0xe8, 0x2a,
0x12, 0x2b, 0x0a, 0x26, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x43, 0x68, 0x65,
0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41,
0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x10, 0xe9, 0x2a, 0x12, 0x1c, 0x0a,
0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74,
0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x41, 0x49, 0x10, 0xea, 0x2a, 0x12, 0x24, 0x0a, 0x1f, 0x50,
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74,
0x69, 0x61, 0x6e, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4f, 0x70, 0x50, 0x6f, 0x73, 0x10, 0xeb,
0x2a, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x43, 0x68,
0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x54, 0x65,
0x73, 0x74, 0x10, 0xec, 0x2a, 0x12, 0x25, 0x0a, 0x20, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
0x43, 0x53, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x73, 0x50, 0x6c,
0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x76, 0x4f, 0x70, 0x10, 0xed, 0x2a, 0x12, 0x25, 0x0a, 0x20,
0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x43, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69,
0x74, 0x69, 0x61, 0x6e, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x76, 0x4f, 0x70,
0x10, 0xee, 0x2a, 0x42, 0x10, 0x5a, 0x0e, 0x2e, 0x3b, 0x63, 0x68, 0x65, 0x73, 0x73, 0x74, 0x69,
0x74, 0x69, 0x61, 0x6e, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_chesstitians_proto_rawDescOnce sync.Once
file_chesstitians_proto_rawDescData = file_chesstitians_proto_rawDesc
)
func file_chesstitians_proto_rawDescGZIP() []byte {
file_chesstitians_proto_rawDescOnce.Do(func() {
file_chesstitians_proto_rawDescData = protoimpl.X.CompressGZIP(file_chesstitians_proto_rawDescData)
})
return file_chesstitians_proto_rawDescData
}
var file_chesstitians_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_chesstitians_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
var file_chesstitians_proto_goTypes = []interface{}{
(OpResultCode)(0), // 0: chesstitians.OpResultCode
(ChesstitiansPacketID)(0), // 1: chesstitians.ChesstitiansPacketID
(*ChesstitiansPlayerData)(nil), // 2: chesstitians.ChesstitiansPlayerData
(*LastDelCard)(nil), // 3: chesstitians.LastDelCard
(*SCChesstitiansRoomInfo)(nil), // 4: chesstitians.SCChesstitiansRoomInfo
(*SCChesstitiansRoomState)(nil), // 5: chesstitians.SCChesstitiansRoomState
(*CSChesstitiansPlayerOp)(nil), // 6: chesstitians.CSChesstitiansPlayerOp
(*SCChesstitiansPlayerOp)(nil), // 7: chesstitians.SCChesstitiansPlayerOp
(*SCChesstitiansPlayerEnter)(nil), // 8: chesstitians.SCChesstitiansPlayerEnter
(*SCChesstitiansPlayerLeave)(nil), // 9: chesstitians.SCChesstitiansPlayerLeave
(*ChesstitiansPlayerGameBilled)(nil), // 10: chesstitians.ChesstitiansPlayerGameBilled
(*SCChesstitiansGameBilled)(nil), // 11: chesstitians.SCChesstitiansGameBilled
(*SCChesstitiansSmallGameBilled)(nil), // 12: chesstitians.SCChesstitiansSmallGameBilled
(*SCChesstitiansCard)(nil), // 13: chesstitians.SCChesstitiansCard
(*SCChesstitiansCardTest)(nil), // 14: chesstitians.SCChesstitiansCardTest
(*SCChesstitiansCurOpPos)(nil), // 15: chesstitians.SCChesstitiansCurOpPos
(*SCChesstitiansUpdateMasterSnid)(nil), // 16: chesstitians.SCChesstitiansUpdateMasterSnid
(*SCChesstitiansUpdateAudienceNum)(nil), // 17: chesstitians.SCChesstitiansUpdateAudienceNum
(*SCChesstitiansAIData)(nil), // 18: chesstitians.SCChesstitiansAIData
(*SCChesstitiansFirstOpPos)(nil), // 19: chesstitians.SCChesstitiansFirstOpPos
(*CSChesstitiansPlayerDevOp)(nil), // 20: chesstitians.CSChesstitiansPlayerDevOp
nil, // 21: chesstitians.ChesstitiansPlayerData.ItemsEntry
nil, // 22: chesstitians.SCChesstitiansCardTest.GradesEntry
}
var file_chesstitians_proto_depIdxs = []int32{
21, // 0: chesstitians.ChesstitiansPlayerData.Items:type_name -> chesstitians.ChesstitiansPlayerData.ItemsEntry
2, // 1: chesstitians.SCChesstitiansRoomInfo.Players:type_name -> chesstitians.ChesstitiansPlayerData
3, // 2: chesstitians.SCChesstitiansRoomInfo.LastDelCards:type_name -> chesstitians.LastDelCard
0, // 3: chesstitians.SCChesstitiansPlayerOp.OpRetCode:type_name -> chesstitians.OpResultCode
2, // 4: chesstitians.SCChesstitiansPlayerEnter.Data:type_name -> chesstitians.ChesstitiansPlayerData
10, // 5: chesstitians.SCChesstitiansGameBilled.Datas:type_name -> chesstitians.ChesstitiansPlayerGameBilled
22, // 6: chesstitians.SCChesstitiansCardTest.Grades:type_name -> chesstitians.SCChesstitiansCardTest.GradesEntry
7, // [7:7] is the sub-list for method output_type
7, // [7:7] is the sub-list for method input_type
7, // [7:7] is the sub-list for extension type_name
7, // [7:7] is the sub-list for extension extendee
0, // [0:7] is the sub-list for field type_name
}
func init() { file_chesstitians_proto_init() }
func file_chesstitians_proto_init() {
if File_chesstitians_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_chesstitians_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChesstitiansPlayerData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chesstitians_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LastDelCard); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chesstitians_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCChesstitiansRoomInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chesstitians_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCChesstitiansRoomState); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chesstitians_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSChesstitiansPlayerOp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chesstitians_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCChesstitiansPlayerOp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chesstitians_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCChesstitiansPlayerEnter); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chesstitians_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCChesstitiansPlayerLeave); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chesstitians_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChesstitiansPlayerGameBilled); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chesstitians_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCChesstitiansGameBilled); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chesstitians_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCChesstitiansSmallGameBilled); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chesstitians_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCChesstitiansCard); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chesstitians_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCChesstitiansCardTest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chesstitians_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCChesstitiansCurOpPos); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chesstitians_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCChesstitiansUpdateMasterSnid); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chesstitians_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCChesstitiansUpdateAudienceNum); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chesstitians_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCChesstitiansAIData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chesstitians_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCChesstitiansFirstOpPos); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chesstitians_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSChesstitiansPlayerDevOp); 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_chesstitians_proto_rawDesc,
NumEnums: 2,
NumMessages: 21,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_chesstitians_proto_goTypes,
DependencyIndexes: file_chesstitians_proto_depIdxs,
EnumInfos: file_chesstitians_proto_enumTypes,
MessageInfos: file_chesstitians_proto_msgTypes,
}.Build()
File_chesstitians_proto = out.File
file_chesstitians_proto_rawDesc = nil
file_chesstitians_proto_goTypes = nil
file_chesstitians_proto_depIdxs = nil
}