Commit 7056b601 authored by Chunchi Che's avatar Chunchi Che Committed by GitHub

Merge pull request #14 from DarkNeos/dev

Dev
parents a72dc603 40d7c419
......@@ -25,6 +25,7 @@ const (
CtosProtoPlayerInfo = 16
CtosProtoJoinGame = 18
CtosHsReady = 34
CtosHsStart = 37
StocJoinGame = 18
StocTypeChange = 19
......@@ -114,6 +115,8 @@ func Transform(src []byte, tranformType int, ctx *util.Context) ([]byte, error)
packet = (*pCtosUpdateDeck)(message.GetCtosUpdateDeck()).Pb2Packet()
case *(ygopropb.YgoCtosMsg_CtosHsReady):
packet = (*pCtosHsReady)(message.GetCtosHsReady()).Pb2Packet()
case *(ygopropb.YgoCtosMsg_CtosHsStart):
packet = (*pCtosHsStart)(message.GetCtosHsStart()).Packet2Pb()
default:
return nil, errors.New(COMPONENT + "Unhandled YgoCtosMsg type")
}
......@@ -228,6 +231,17 @@ func (_ *pCtosHsReady) Pb2Packet() YgoPacket {
}
}
type pCtosHsStart ygopropb.CtosHsStart
// empty message
func (_ *pCtosHsStart) Packet2Pb() YgoPacket {
return YgoPacket{
PacketLen: 1,
Proto: CtosHsStart,
Exdata: make([]byte, 0),
}
}
// +++++ Server To Client +++++
type server2Client interface {
......@@ -299,7 +313,7 @@ type pStocHsPlayerEnter struct{}
func (_ pStocHsPlayerEnter) Packet2Pb(pkt YgoPacket) ygopropb.YgoStocMsg {
name_max := util.UTF16_BUFFER_MAX_LEN * 2
name := util.Utf16BufferToStr(pkt.Exdata[:name_max])
pos := pkt.Exdata[name_max]
pos := pkt.Exdata[name_max] & 0x3 // todo: make sure
msg := ygopropb.YgoStocMsg_StocHsPlayerEnter{
StocHsPlayerEnter: &ygopropb.StocHsPlayerEnter{
......@@ -316,9 +330,45 @@ func (_ pStocHsPlayerEnter) Packet2Pb(pkt YgoPacket) ygopropb.YgoStocMsg {
type pStocTypeChage struct{}
func (_ pStocTypeChage) Packet2Pb(pkt YgoPacket) ygopropb.YgoStocMsg {
type_ := pkt.Exdata[0]
isHost := ((type_ >> 4) & 0xf) != 0
var selfType ygopropb.StocTypeChange_SelfType
switch type_ & 0xf {
case 0:
{
selfType = ygopropb.StocTypeChange_PLAYER1
}
case 1:
{
selfType = ygopropb.StocTypeChange_PLAYER2
}
case 2:
{
selfType = ygopropb.StocTypeChange_PLAYER3
}
case 3:
{
selfType = ygopropb.StocTypeChange_PLAYER4
}
case 4:
{
selfType = ygopropb.StocTypeChange_PLAYER5
}
case 5:
{
selfType = ygopropb.StocTypeChange_PLAYER6
}
default:
{
selfType = ygopropb.StocTypeChange_UNKNOWN
}
}
msg := ygopropb.YgoStocMsg_StocTypeChange{
StocTypeChange: &ygopropb.StocTypeChange{
Type: int32(pkt.Exdata[0]),
SelfType: selfType,
IsHost: isHost,
},
}
......
......@@ -20,6 +20,70 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type StocTypeChange_SelfType int32
const (
StocTypeChange_UNKNOWN StocTypeChange_SelfType = 0
StocTypeChange_PLAYER1 StocTypeChange_SelfType = 1
StocTypeChange_PLAYER2 StocTypeChange_SelfType = 2
StocTypeChange_PLAYER3 StocTypeChange_SelfType = 3
StocTypeChange_PLAYER4 StocTypeChange_SelfType = 4
StocTypeChange_PLAYER5 StocTypeChange_SelfType = 5
StocTypeChange_PLAYER6 StocTypeChange_SelfType = 6
StocTypeChange_OBSERVER StocTypeChange_SelfType = 100
)
// Enum value maps for StocTypeChange_SelfType.
var (
StocTypeChange_SelfType_name = map[int32]string{
0: "UNKNOWN",
1: "PLAYER1",
2: "PLAYER2",
3: "PLAYER3",
4: "PLAYER4",
5: "PLAYER5",
6: "PLAYER6",
100: "OBSERVER",
}
StocTypeChange_SelfType_value = map[string]int32{
"UNKNOWN": 0,
"PLAYER1": 1,
"PLAYER2": 2,
"PLAYER3": 3,
"PLAYER4": 4,
"PLAYER5": 5,
"PLAYER6": 6,
"OBSERVER": 100,
}
)
func (x StocTypeChange_SelfType) Enum() *StocTypeChange_SelfType {
p := new(StocTypeChange_SelfType)
*p = x
return p
}
func (x StocTypeChange_SelfType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (StocTypeChange_SelfType) Descriptor() protoreflect.EnumDescriptor {
return file_ocgcore_proto_enumTypes[0].Descriptor()
}
func (StocTypeChange_SelfType) Type() protoreflect.EnumType {
return &file_ocgcore_proto_enumTypes[0]
}
func (x StocTypeChange_SelfType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use StocTypeChange_SelfType.Descriptor instead.
func (StocTypeChange_SelfType) EnumDescriptor() ([]byte, []int) {
return file_ocgcore_proto_rawDescGZIP(), []int{10, 0}
}
type StocHsPlayerChange_State int32
const (
......@@ -62,11 +126,11 @@ func (x StocHsPlayerChange_State) String() string {
}
func (StocHsPlayerChange_State) Descriptor() protoreflect.EnumDescriptor {
return file_ocgcore_proto_enumTypes[0].Descriptor()
return file_ocgcore_proto_enumTypes[1].Descriptor()
}
func (StocHsPlayerChange_State) Type() protoreflect.EnumType {
return &file_ocgcore_proto_enumTypes[0]
return &file_ocgcore_proto_enumTypes[1]
}
func (x StocHsPlayerChange_State) Number() protoreflect.EnumNumber {
......@@ -75,7 +139,7 @@ func (x StocHsPlayerChange_State) Number() protoreflect.EnumNumber {
// Deprecated: Use StocHsPlayerChange_State.Descriptor instead.
func (StocHsPlayerChange_State) EnumDescriptor() ([]byte, []int) {
return file_ocgcore_proto_rawDescGZIP(), []int{10, 0}
return file_ocgcore_proto_rawDescGZIP(), []int{11, 0}
}
type YgoCtosMsg struct {
......@@ -88,6 +152,7 @@ type YgoCtosMsg struct {
// *YgoCtosMsg_CtosJoinGame
// *YgoCtosMsg_CtosUpdateDeck
// *YgoCtosMsg_CtosHsReady
// *YgoCtosMsg_CtosHsStart
Msg isYgoCtosMsg_Msg `protobuf_oneof:"msg"`
}
......@@ -158,6 +223,13 @@ func (x *YgoCtosMsg) GetCtosHsReady() *CtosHsReady {
return nil
}
func (x *YgoCtosMsg) GetCtosHsStart() *CtosHsStart {
if x, ok := x.GetMsg().(*YgoCtosMsg_CtosHsStart); ok {
return x.CtosHsStart
}
return nil
}
type isYgoCtosMsg_Msg interface {
isYgoCtosMsg_Msg()
}
......@@ -178,6 +250,10 @@ type YgoCtosMsg_CtosHsReady struct {
CtosHsReady *CtosHsReady `protobuf:"bytes,4,opt,name=ctos_hs_ready,json=ctosHsReady,proto3,oneof"`
}
type YgoCtosMsg_CtosHsStart struct {
CtosHsStart *CtosHsStart `protobuf:"bytes,5,opt,name=ctos_hs_start,json=ctosHsStart,proto3,oneof"`
}
func (*YgoCtosMsg_CtosPlayerInfo) isYgoCtosMsg_Msg() {}
func (*YgoCtosMsg_CtosJoinGame) isYgoCtosMsg_Msg() {}
......@@ -186,6 +262,8 @@ func (*YgoCtosMsg_CtosUpdateDeck) isYgoCtosMsg_Msg() {}
func (*YgoCtosMsg_CtosHsReady) isYgoCtosMsg_Msg() {}
func (*YgoCtosMsg_CtosHsStart) isYgoCtosMsg_Msg() {}
type YgoStocMsg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
......@@ -533,6 +611,44 @@ func (*CtosHsReady) Descriptor() ([]byte, []int) {
return file_ocgcore_proto_rawDescGZIP(), []int{5}
}
type CtosHsStart struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CtosHsStart) Reset() {
*x = CtosHsStart{}
if protoimpl.UnsafeEnabled {
mi := &file_ocgcore_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CtosHsStart) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CtosHsStart) ProtoMessage() {}
func (x *CtosHsStart) ProtoReflect() protoreflect.Message {
mi := &file_ocgcore_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 CtosHsStart.ProtoReflect.Descriptor instead.
func (*CtosHsStart) Descriptor() ([]byte, []int) {
return file_ocgcore_proto_rawDescGZIP(), []int{6}
}
type StocJoinGame struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
......@@ -553,7 +669,7 @@ type StocJoinGame struct {
func (x *StocJoinGame) Reset() {
*x = StocJoinGame{}
if protoimpl.UnsafeEnabled {
mi := &file_ocgcore_proto_msgTypes[6]
mi := &file_ocgcore_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -566,7 +682,7 @@ func (x *StocJoinGame) String() string {
func (*StocJoinGame) ProtoMessage() {}
func (x *StocJoinGame) ProtoReflect() protoreflect.Message {
mi := &file_ocgcore_proto_msgTypes[6]
mi := &file_ocgcore_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -579,7 +695,7 @@ func (x *StocJoinGame) ProtoReflect() protoreflect.Message {
// Deprecated: Use StocJoinGame.ProtoReflect.Descriptor instead.
func (*StocJoinGame) Descriptor() ([]byte, []int) {
return file_ocgcore_proto_rawDescGZIP(), []int{6}
return file_ocgcore_proto_rawDescGZIP(), []int{7}
}
func (x *StocJoinGame) GetLflist() int32 {
......@@ -664,7 +780,7 @@ type StocChat struct {
func (x *StocChat) Reset() {
*x = StocChat{}
if protoimpl.UnsafeEnabled {
mi := &file_ocgcore_proto_msgTypes[7]
mi := &file_ocgcore_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -677,7 +793,7 @@ func (x *StocChat) String() string {
func (*StocChat) ProtoMessage() {}
func (x *StocChat) ProtoReflect() protoreflect.Message {
mi := &file_ocgcore_proto_msgTypes[7]
mi := &file_ocgcore_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -690,7 +806,7 @@ func (x *StocChat) ProtoReflect() protoreflect.Message {
// Deprecated: Use StocChat.ProtoReflect.Descriptor instead.
func (*StocChat) Descriptor() ([]byte, []int) {
return file_ocgcore_proto_rawDescGZIP(), []int{7}
return file_ocgcore_proto_rawDescGZIP(), []int{8}
}
func (x *StocChat) GetPlayer() int32 {
......@@ -719,7 +835,7 @@ type StocHsPlayerEnter struct {
func (x *StocHsPlayerEnter) Reset() {
*x = StocHsPlayerEnter{}
if protoimpl.UnsafeEnabled {
mi := &file_ocgcore_proto_msgTypes[8]
mi := &file_ocgcore_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -732,7 +848,7 @@ func (x *StocHsPlayerEnter) String() string {
func (*StocHsPlayerEnter) ProtoMessage() {}
func (x *StocHsPlayerEnter) ProtoReflect() protoreflect.Message {
mi := &file_ocgcore_proto_msgTypes[8]
mi := &file_ocgcore_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -745,7 +861,7 @@ func (x *StocHsPlayerEnter) ProtoReflect() protoreflect.Message {
// Deprecated: Use StocHsPlayerEnter.ProtoReflect.Descriptor instead.
func (*StocHsPlayerEnter) Descriptor() ([]byte, []int) {
return file_ocgcore_proto_rawDescGZIP(), []int{8}
return file_ocgcore_proto_rawDescGZIP(), []int{9}
}
func (x *StocHsPlayerEnter) GetName() string {
......@@ -767,13 +883,14 @@ type StocTypeChange struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
SelfType StocTypeChange_SelfType `protobuf:"varint,1,opt,name=self_type,json=selfType,proto3,enum=ygopro.StocTypeChange_SelfType" json:"self_type,omitempty"`
IsHost bool `protobuf:"varint,2,opt,name=is_host,json=isHost,proto3" json:"is_host,omitempty"`
}
func (x *StocTypeChange) Reset() {
*x = StocTypeChange{}
if protoimpl.UnsafeEnabled {
mi := &file_ocgcore_proto_msgTypes[9]
mi := &file_ocgcore_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -786,7 +903,7 @@ func (x *StocTypeChange) String() string {
func (*StocTypeChange) ProtoMessage() {}
func (x *StocTypeChange) ProtoReflect() protoreflect.Message {
mi := &file_ocgcore_proto_msgTypes[9]
mi := &file_ocgcore_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -799,14 +916,21 @@ func (x *StocTypeChange) ProtoReflect() protoreflect.Message {
// Deprecated: Use StocTypeChange.ProtoReflect.Descriptor instead.
func (*StocTypeChange) Descriptor() ([]byte, []int) {
return file_ocgcore_proto_rawDescGZIP(), []int{9}
return file_ocgcore_proto_rawDescGZIP(), []int{10}
}
func (x *StocTypeChange) GetType() int32 {
func (x *StocTypeChange) GetSelfType() StocTypeChange_SelfType {
if x != nil {
return x.Type
return x.SelfType
}
return 0
return StocTypeChange_UNKNOWN
}
func (x *StocTypeChange) GetIsHost() bool {
if x != nil {
return x.IsHost
}
return false
}
type StocHsPlayerChange struct {
......@@ -822,7 +946,7 @@ type StocHsPlayerChange struct {
func (x *StocHsPlayerChange) Reset() {
*x = StocHsPlayerChange{}
if protoimpl.UnsafeEnabled {
mi := &file_ocgcore_proto_msgTypes[10]
mi := &file_ocgcore_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -835,7 +959,7 @@ func (x *StocHsPlayerChange) String() string {
func (*StocHsPlayerChange) ProtoMessage() {}
func (x *StocHsPlayerChange) ProtoReflect() protoreflect.Message {
mi := &file_ocgcore_proto_msgTypes[10]
mi := &file_ocgcore_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -848,7 +972,7 @@ func (x *StocHsPlayerChange) ProtoReflect() protoreflect.Message {
// Deprecated: Use StocHsPlayerChange.ProtoReflect.Descriptor instead.
func (*StocHsPlayerChange) Descriptor() ([]byte, []int) {
return file_ocgcore_proto_rawDescGZIP(), []int{10}
return file_ocgcore_proto_rawDescGZIP(), []int{11}
}
func (x *StocHsPlayerChange) GetState() StocHsPlayerChange_State {
......@@ -883,7 +1007,7 @@ type StocHsWatchChange struct {
func (x *StocHsWatchChange) Reset() {
*x = StocHsWatchChange{}
if protoimpl.UnsafeEnabled {
mi := &file_ocgcore_proto_msgTypes[11]
mi := &file_ocgcore_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -896,7 +1020,7 @@ func (x *StocHsWatchChange) String() string {
func (*StocHsWatchChange) ProtoMessage() {}
func (x *StocHsWatchChange) ProtoReflect() protoreflect.Message {
mi := &file_ocgcore_proto_msgTypes[11]
mi := &file_ocgcore_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -909,7 +1033,7 @@ func (x *StocHsWatchChange) ProtoReflect() protoreflect.Message {
// Deprecated: Use StocHsWatchChange.ProtoReflect.Descriptor instead.
func (*StocHsWatchChange) Descriptor() ([]byte, []int) {
return file_ocgcore_proto_rawDescGZIP(), []int{11}
return file_ocgcore_proto_rawDescGZIP(), []int{12}
}
func (x *StocHsWatchChange) GetCount() int32 {
......@@ -923,7 +1047,7 @@ var File_ocgcore_proto protoreflect.FileDescriptor
var file_ocgcore_proto_rawDesc = []byte{
0x0a, 0x0d, 0x6f, 0x63, 0x67, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x06, 0x79, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x22, 0x94, 0x02, 0x0a, 0x0a, 0x59, 0x67, 0x6f, 0x43,
0x06, 0x79, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x22, 0xcf, 0x02, 0x0a, 0x0a, 0x59, 0x67, 0x6f, 0x43,
0x74, 0x6f, 0x73, 0x4d, 0x73, 0x67, 0x12, 0x42, 0x0a, 0x10, 0x63, 0x74, 0x6f, 0x73, 0x5f, 0x70,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x16, 0x2e, 0x79, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x2e, 0x43, 0x74, 0x6f, 0x73, 0x50, 0x6c,
......@@ -940,95 +1064,111 @@ var file_ocgcore_proto_rawDesc = []byte{
0x63, 0x74, 0x6f, 0x73, 0x5f, 0x68, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x79, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x2e, 0x43, 0x74, 0x6f,
0x73, 0x48, 0x73, 0x52, 0x65, 0x61, 0x64, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x74, 0x6f, 0x73,
0x48, 0x73, 0x52, 0x65, 0x61, 0x64, 0x79, 0x42, 0x05, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xb3,
0x03, 0x0a, 0x0a, 0x59, 0x67, 0x6f, 0x53, 0x74, 0x6f, 0x63, 0x4d, 0x73, 0x67, 0x12, 0x3c, 0x0a,
0x0e, 0x73, 0x74, 0x6f, 0x63, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x79, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x2e, 0x53,
0x74, 0x6f, 0x63, 0x4a, 0x6f, 0x69, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x73,
0x74, 0x6f, 0x63, 0x4a, 0x6f, 0x69, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x73,
0x74, 0x6f, 0x63, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
0x2e, 0x79, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x43, 0x68, 0x61, 0x74,
0x48, 0x00, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x63, 0x43, 0x68, 0x61, 0x74, 0x12, 0x4c, 0x0a, 0x14,
0x73, 0x74, 0x6f, 0x63, 0x5f, 0x68, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x65,
0x6e, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x79, 0x67, 0x6f,
0x70, 0x72, 0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x48, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x11, 0x73, 0x74, 0x6f, 0x63, 0x48, 0x73, 0x50,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x10, 0x73, 0x74,
0x6f, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x79, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x2e, 0x53, 0x74,
0x6f, 0x63, 0x54, 0x79, 0x70, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e,
0x73, 0x74, 0x6f, 0x63, 0x54, 0x79, 0x70, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x4f,
0x0a, 0x15, 0x73, 0x74, 0x6f, 0x63, 0x5f, 0x68, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x79, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x48, 0x73, 0x50, 0x6c, 0x61,
0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x73, 0x74, 0x6f,
0x63, 0x48, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12,
0x4c, 0x0a, 0x14, 0x73, 0x74, 0x6f, 0x63, 0x5f, 0x68, 0x73, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68,
0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
0x79, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x48, 0x73, 0x57, 0x61, 0x74,
0x63, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x11, 0x73, 0x74, 0x6f, 0x63,
0x48, 0x73, 0x57, 0x61, 0x74, 0x63, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x05, 0x0a,
0x03, 0x6d, 0x73, 0x67, 0x22, 0x24, 0x0a, 0x0e, 0x43, 0x74, 0x6f, 0x73, 0x50, 0x6c, 0x61, 0x79,
0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x58, 0x0a, 0x0c, 0x43, 0x74,
0x6f, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06,
0x70, 0x61, 0x73, 0x73, 0x77, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61,
0x73, 0x73, 0x77, 0x64, 0x22, 0x4e, 0x0a, 0x0e, 0x43, 0x74, 0x6f, 0x73, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x44, 0x65, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01,
0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x78,
0x74, 0x72, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61,
0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04,
0x73, 0x69, 0x64, 0x65, 0x22, 0x0d, 0x0a, 0x0b, 0x43, 0x74, 0x6f, 0x73, 0x48, 0x73, 0x52, 0x65,
0x61, 0x64, 0x79, 0x22, 0xaf, 0x02, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x63, 0x4a, 0x6f, 0x69, 0x6e,
0x47, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04,
0x72, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65,
0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
0x6d, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x75, 0x65, 0x6c, 0x5f, 0x72, 0x75, 0x6c,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x65, 0x6c, 0x52, 0x75, 0x6c,
0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6e, 0x6f, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x64, 0x65,
0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6e, 0x6f, 0x43, 0x68, 0x65, 0x63,
0x6b, 0x44, 0x65, 0x63, 0x6b, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x6f, 0x5f, 0x73, 0x68, 0x75, 0x66,
0x66, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d,
0x6e, 0x6f, 0x53, 0x68, 0x75, 0x66, 0x66, 0x6c, 0x65, 0x44, 0x65, 0x63, 0x6b, 0x12, 0x19, 0x0a,
0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6c, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52,
0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72,
0x74, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x74,
0x61, 0x72, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x72, 0x61, 0x77, 0x5f,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x72, 0x61,
0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c,
0x69, 0x6d, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65,
0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x34, 0x0a, 0x08, 0x53, 0x74, 0x6f, 0x63, 0x43, 0x68, 0x61,
0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x39, 0x0a, 0x11, 0x53,
0x48, 0x73, 0x52, 0x65, 0x61, 0x64, 0x79, 0x12, 0x39, 0x0a, 0x0d, 0x63, 0x74, 0x6f, 0x73, 0x5f,
0x68, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
0x2e, 0x79, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x2e, 0x43, 0x74, 0x6f, 0x73, 0x48, 0x73, 0x53, 0x74,
0x61, 0x72, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x74, 0x6f, 0x73, 0x48, 0x73, 0x53, 0x74, 0x61,
0x72, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xb3, 0x03, 0x0a, 0x0a, 0x59, 0x67,
0x6f, 0x53, 0x74, 0x6f, 0x63, 0x4d, 0x73, 0x67, 0x12, 0x3c, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x63,
0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x14, 0x2e, 0x79, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x4a, 0x6f,
0x69, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x63, 0x4a, 0x6f,
0x69, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x63, 0x5f, 0x63,
0x68, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x79, 0x67, 0x6f, 0x70,
0x72, 0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x43, 0x68, 0x61, 0x74, 0x48, 0x00, 0x52, 0x08, 0x73,
0x74, 0x6f, 0x63, 0x43, 0x68, 0x61, 0x74, 0x12, 0x4c, 0x0a, 0x14, 0x73, 0x74, 0x6f, 0x63, 0x5f,
0x68, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x79, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x2e, 0x53,
0x74, 0x6f, 0x63, 0x48, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72,
0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x22, 0x24, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x63, 0x54, 0x79,
0x70, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xd0, 0x01, 0x0a,
0x12, 0x53, 0x74, 0x6f, 0x63, 0x48, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61,
0x6e, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x20, 0x2e, 0x79, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x63,
0x48, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x53,
0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70,
0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x1b, 0x0a,
0x09, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
0x52, 0x08, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x22, 0x53, 0x0a, 0x05, 0x53, 0x74,
0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00,
0x12, 0x08, 0x0a, 0x04, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45,
0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x5f, 0x52, 0x45, 0x41, 0x44,
0x59, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x10, 0x04, 0x12, 0x0f,
0x0a, 0x0b, 0x54, 0x4f, 0x5f, 0x4f, 0x42, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x05, 0x22,
0x29, 0x0a, 0x11, 0x53, 0x74, 0x6f, 0x63, 0x48, 0x73, 0x57, 0x61, 0x74, 0x63, 0x68, 0x43, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x13, 0x5a, 0x11, 0x44, 0x61,
0x72, 0x6b, 0x4e, 0x65, 0x6f, 0x73, 0x2f, 0x79, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x70, 0x62, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x48, 0x00, 0x52, 0x11, 0x73, 0x74, 0x6f, 0x63, 0x48, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
0x45, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x10, 0x73, 0x74, 0x6f, 0x63, 0x5f, 0x74, 0x79,
0x70, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x16, 0x2e, 0x79, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x54, 0x79, 0x70,
0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x74, 0x6f, 0x63, 0x54,
0x79, 0x70, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x4f, 0x0a, 0x15, 0x73, 0x74, 0x6f,
0x63, 0x5f, 0x68, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e,
0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x79, 0x67, 0x6f, 0x70, 0x72,
0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x48, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x73, 0x74, 0x6f, 0x63, 0x48, 0x73, 0x50, 0x6c,
0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x4c, 0x0a, 0x14, 0x73, 0x74,
0x6f, 0x63, 0x5f, 0x68, 0x73, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x68, 0x61, 0x6e,
0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x79, 0x67, 0x6f, 0x70, 0x72,
0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x48, 0x73, 0x57, 0x61, 0x74, 0x63, 0x68, 0x43, 0x68, 0x61,
0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x11, 0x73, 0x74, 0x6f, 0x63, 0x48, 0x73, 0x57, 0x61, 0x74,
0x63, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x22,
0x24, 0x0a, 0x0e, 0x43, 0x74, 0x6f, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66,
0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x58, 0x0a, 0x0c, 0x43, 0x74, 0x6f, 0x73, 0x4a, 0x6f, 0x69,
0x6e, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
0x16, 0x0a, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x67, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x73, 0x73, 0x77,
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x73, 0x73, 0x77, 0x64, 0x22,
0x4e, 0x0a, 0x0e, 0x43, 0x74, 0x6f, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x63,
0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52,
0x04, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x02,
0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x73,
0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x64, 0x65, 0x22,
0x0d, 0x0a, 0x0b, 0x43, 0x74, 0x6f, 0x73, 0x48, 0x73, 0x52, 0x65, 0x61, 0x64, 0x79, 0x22, 0x0d,
0x0a, 0x0b, 0x43, 0x74, 0x6f, 0x73, 0x48, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x22, 0xaf, 0x02,
0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x63, 0x4a, 0x6f, 0x69, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x16,
0x0a, 0x06, 0x6c, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
0x6c, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f,
0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x1b,
0x0a, 0x09, 0x64, 0x75, 0x65, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x05, 0x52, 0x08, 0x64, 0x75, 0x65, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6e,
0x6f, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01,
0x28, 0x08, 0x52, 0x0b, 0x6e, 0x6f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x65, 0x63, 0x6b, 0x12,
0x26, 0x0a, 0x0f, 0x6e, 0x6f, 0x5f, 0x73, 0x68, 0x75, 0x66, 0x66, 0x6c, 0x65, 0x5f, 0x64, 0x65,
0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6e, 0x6f, 0x53, 0x68, 0x75, 0x66,
0x66, 0x6c, 0x65, 0x44, 0x65, 0x63, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74,
0x5f, 0x6c, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74,
0x4c, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x68, 0x61, 0x6e, 0x64,
0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x48, 0x61, 0x6e,
0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x72, 0x61, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x72, 0x61, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22,
0x34, 0x0a, 0x08, 0x53, 0x74, 0x6f, 0x63, 0x43, 0x68, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6c, 0x61,
0x79, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x39, 0x0a, 0x11, 0x53, 0x74, 0x6f, 0x63, 0x48, 0x73, 0x50,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10,
0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 0x6f, 0x73,
0x22, 0xdc, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x63, 0x54, 0x79, 0x70, 0x65, 0x43, 0x68, 0x61,
0x6e, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x74, 0x79, 0x70, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x79, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x2e,
0x53, 0x74, 0x6f, 0x63, 0x54, 0x79, 0x70, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x53,
0x65, 0x6c, 0x66, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x54, 0x79, 0x70,
0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01,
0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x48, 0x6f, 0x73, 0x74, 0x22, 0x73, 0x0a, 0x08, 0x53, 0x65,
0x6c, 0x66, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x31, 0x10, 0x01,
0x12, 0x0b, 0x0a, 0x07, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x32, 0x10, 0x02, 0x12, 0x0b, 0x0a,
0x07, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x33, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x4c,
0x41, 0x59, 0x45, 0x52, 0x34, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x4c, 0x41, 0x59, 0x45,
0x52, 0x35, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x36, 0x10,
0x06, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x42, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x64, 0x22,
0xd0, 0x01, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x63, 0x48, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x79, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x2e, 0x53,
0x74, 0x6f, 0x63, 0x48, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67,
0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x10,
0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 0x6f, 0x73,
0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20,
0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x22, 0x53, 0x0a,
0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a,
0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x5f, 0x52,
0x45, 0x41, 0x44, 0x59, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x10,
0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x4f, 0x5f, 0x4f, 0x42, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52,
0x10, 0x05, 0x22, 0x29, 0x0a, 0x11, 0x53, 0x74, 0x6f, 0x63, 0x48, 0x73, 0x57, 0x61, 0x74, 0x63,
0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x13, 0x5a,
0x11, 0x44, 0x61, 0x72, 0x6b, 0x4e, 0x65, 0x6f, 0x73, 0x2f, 0x79, 0x67, 0x6f, 0x70, 0x72, 0x6f,
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
......@@ -1043,40 +1183,44 @@ func file_ocgcore_proto_rawDescGZIP() []byte {
return file_ocgcore_proto_rawDescData
}
var file_ocgcore_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_ocgcore_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_ocgcore_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_ocgcore_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
var file_ocgcore_proto_goTypes = []interface{}{
(StocHsPlayerChange_State)(0), // 0: ygopro.StocHsPlayerChange.State
(*YgoCtosMsg)(nil), // 1: ygopro.YgoCtosMsg
(*YgoStocMsg)(nil), // 2: ygopro.YgoStocMsg
(*CtosPlayerInfo)(nil), // 3: ygopro.CtosPlayerInfo
(*CtosJoinGame)(nil), // 4: ygopro.CtosJoinGame
(*CtosUpdateDeck)(nil), // 5: ygopro.CtosUpdateDeck
(*CtosHsReady)(nil), // 6: ygopro.CtosHsReady
(*StocJoinGame)(nil), // 7: ygopro.StocJoinGame
(*StocChat)(nil), // 8: ygopro.StocChat
(*StocHsPlayerEnter)(nil), // 9: ygopro.StocHsPlayerEnter
(*StocTypeChange)(nil), // 10: ygopro.StocTypeChange
(*StocHsPlayerChange)(nil), // 11: ygopro.StocHsPlayerChange
(*StocHsWatchChange)(nil), // 12: ygopro.StocHsWatchChange
(StocTypeChange_SelfType)(0), // 0: ygopro.StocTypeChange.SelfType
(StocHsPlayerChange_State)(0), // 1: ygopro.StocHsPlayerChange.State
(*YgoCtosMsg)(nil), // 2: ygopro.YgoCtosMsg
(*YgoStocMsg)(nil), // 3: ygopro.YgoStocMsg
(*CtosPlayerInfo)(nil), // 4: ygopro.CtosPlayerInfo
(*CtosJoinGame)(nil), // 5: ygopro.CtosJoinGame
(*CtosUpdateDeck)(nil), // 6: ygopro.CtosUpdateDeck
(*CtosHsReady)(nil), // 7: ygopro.CtosHsReady
(*CtosHsStart)(nil), // 8: ygopro.CtosHsStart
(*StocJoinGame)(nil), // 9: ygopro.StocJoinGame
(*StocChat)(nil), // 10: ygopro.StocChat
(*StocHsPlayerEnter)(nil), // 11: ygopro.StocHsPlayerEnter
(*StocTypeChange)(nil), // 12: ygopro.StocTypeChange
(*StocHsPlayerChange)(nil), // 13: ygopro.StocHsPlayerChange
(*StocHsWatchChange)(nil), // 14: ygopro.StocHsWatchChange
}
var file_ocgcore_proto_depIdxs = []int32{
3, // 0: ygopro.YgoCtosMsg.ctos_player_info:type_name -> ygopro.CtosPlayerInfo
4, // 1: ygopro.YgoCtosMsg.ctos_join_game:type_name -> ygopro.CtosJoinGame
5, // 2: ygopro.YgoCtosMsg.ctos_update_deck:type_name -> ygopro.CtosUpdateDeck
6, // 3: ygopro.YgoCtosMsg.ctos_hs_ready:type_name -> ygopro.CtosHsReady
7, // 4: ygopro.YgoStocMsg.stoc_join_game:type_name -> ygopro.StocJoinGame
8, // 5: ygopro.YgoStocMsg.stoc_chat:type_name -> ygopro.StocChat
9, // 6: ygopro.YgoStocMsg.stoc_hs_player_enter:type_name -> ygopro.StocHsPlayerEnter
10, // 7: ygopro.YgoStocMsg.stoc_type_change:type_name -> ygopro.StocTypeChange
11, // 8: ygopro.YgoStocMsg.stoc_hs_player_change:type_name -> ygopro.StocHsPlayerChange
12, // 9: ygopro.YgoStocMsg.stoc_hs_watch_change:type_name -> ygopro.StocHsWatchChange
0, // 10: ygopro.StocHsPlayerChange.state:type_name -> ygopro.StocHsPlayerChange.State
11, // [11:11] is the sub-list for method output_type
11, // [11:11] is the sub-list for method input_type
11, // [11:11] is the sub-list for extension type_name
11, // [11:11] is the sub-list for extension extendee
0, // [0:11] is the sub-list for field type_name
4, // 0: ygopro.YgoCtosMsg.ctos_player_info:type_name -> ygopro.CtosPlayerInfo
5, // 1: ygopro.YgoCtosMsg.ctos_join_game:type_name -> ygopro.CtosJoinGame
6, // 2: ygopro.YgoCtosMsg.ctos_update_deck:type_name -> ygopro.CtosUpdateDeck
7, // 3: ygopro.YgoCtosMsg.ctos_hs_ready:type_name -> ygopro.CtosHsReady
8, // 4: ygopro.YgoCtosMsg.ctos_hs_start:type_name -> ygopro.CtosHsStart
9, // 5: ygopro.YgoStocMsg.stoc_join_game:type_name -> ygopro.StocJoinGame
10, // 6: ygopro.YgoStocMsg.stoc_chat:type_name -> ygopro.StocChat
11, // 7: ygopro.YgoStocMsg.stoc_hs_player_enter:type_name -> ygopro.StocHsPlayerEnter
12, // 8: ygopro.YgoStocMsg.stoc_type_change:type_name -> ygopro.StocTypeChange
13, // 9: ygopro.YgoStocMsg.stoc_hs_player_change:type_name -> ygopro.StocHsPlayerChange
14, // 10: ygopro.YgoStocMsg.stoc_hs_watch_change:type_name -> ygopro.StocHsWatchChange
0, // 11: ygopro.StocTypeChange.self_type:type_name -> ygopro.StocTypeChange.SelfType
1, // 12: ygopro.StocHsPlayerChange.state:type_name -> ygopro.StocHsPlayerChange.State
13, // [13:13] is the sub-list for method output_type
13, // [13:13] is the sub-list for method input_type
13, // [13:13] is the sub-list for extension type_name
13, // [13:13] is the sub-list for extension extendee
0, // [0:13] is the sub-list for field type_name
}
func init() { file_ocgcore_proto_init() }
......@@ -1158,7 +1302,7 @@ func file_ocgcore_proto_init() {
}
}
file_ocgcore_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StocJoinGame); i {
switch v := v.(*CtosHsStart); i {
case 0:
return &v.state
case 1:
......@@ -1170,7 +1314,7 @@ func file_ocgcore_proto_init() {
}
}
file_ocgcore_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StocChat); i {
switch v := v.(*StocJoinGame); i {
case 0:
return &v.state
case 1:
......@@ -1182,7 +1326,7 @@ func file_ocgcore_proto_init() {
}
}
file_ocgcore_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StocHsPlayerEnter); i {
switch v := v.(*StocChat); i {
case 0:
return &v.state
case 1:
......@@ -1194,7 +1338,7 @@ func file_ocgcore_proto_init() {
}
}
file_ocgcore_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StocTypeChange); i {
switch v := v.(*StocHsPlayerEnter); i {
case 0:
return &v.state
case 1:
......@@ -1206,7 +1350,7 @@ func file_ocgcore_proto_init() {
}
}
file_ocgcore_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StocHsPlayerChange); i {
switch v := v.(*StocTypeChange); i {
case 0:
return &v.state
case 1:
......@@ -1218,6 +1362,18 @@ func file_ocgcore_proto_init() {
}
}
file_ocgcore_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StocHsPlayerChange); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_ocgcore_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StocHsWatchChange); i {
case 0:
return &v.state
......@@ -1235,6 +1391,7 @@ func file_ocgcore_proto_init() {
(*YgoCtosMsg_CtosJoinGame)(nil),
(*YgoCtosMsg_CtosUpdateDeck)(nil),
(*YgoCtosMsg_CtosHsReady)(nil),
(*YgoCtosMsg_CtosHsStart)(nil),
}
file_ocgcore_proto_msgTypes[1].OneofWrappers = []interface{}{
(*YgoStocMsg_StocJoinGame)(nil),
......@@ -1249,8 +1406,8 @@ func file_ocgcore_proto_init() {
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_ocgcore_proto_rawDesc,
NumEnums: 1,
NumMessages: 12,
NumEnums: 2,
NumMessages: 13,
NumExtensions: 0,
NumServices: 0,
},
......
Subproject commit 7b87e8a035a016c44d551f85c1ce0a719b507b8f
Subproject commit ed6ff3b15aaa74e35feb40d33aa518b52a275402
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment