// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 // protoc v3.20.0 // source: common.proto package msg 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) ) // PlayerOptType 玩家操作类型 type PlayerOptType int32 const ( PlayerOptType_OPT_NONE PlayerOptType = 0 // 无操作 PlayerOptType_OPT_SEEN PlayerOptType = 1 // 看牌 PlayerOptType_OPT_PACKED PlayerOptType = 2 // 弃牌 PlayerOptType_OPT_CHAAL PlayerOptType = 3 // 跟注 PlayerOptType_OPT_BIND PlayerOptType = 4 // 绑定 PlayerOptType_OPT_SELECT PlayerOptType = 5 // 选择操作 PlayerOptType_OPT_SHOW PlayerOptType = 6 // 亮牌 ) // Enum value maps for PlayerOptType. var ( PlayerOptType_name = map[int32]string{ 0: "OPT_NONE", 1: "OPT_SEEN", 2: "OPT_PACKED", 3: "OPT_CHAAL", 4: "OPT_BIND", 5: "OPT_SELECT", 6: "OPT_SHOW", } PlayerOptType_value = map[string]int32{ "OPT_NONE": 0, "OPT_SEEN": 1, "OPT_PACKED": 2, "OPT_CHAAL": 3, "OPT_BIND": 4, "OPT_SELECT": 5, "OPT_SHOW": 6, } ) func (x PlayerOptType) Enum() *PlayerOptType { p := new(PlayerOptType) *p = x return p } func (x PlayerOptType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (PlayerOptType) Descriptor() protoreflect.EnumDescriptor { return file_common_proto_enumTypes[0].Descriptor() } func (PlayerOptType) Type() protoreflect.EnumType { return &file_common_proto_enumTypes[0] } func (x PlayerOptType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use PlayerOptType.Descriptor instead. func (PlayerOptType) EnumDescriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{0} } // 登录 type ResLogin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"` NikeName string `protobuf:"bytes,2,opt,name=nikeName,proto3" json:"nikeName,omitempty"` } func (x *ResLogin) Reset() { *x = ResLogin{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResLogin) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResLogin) ProtoMessage() {} func (x *ResLogin) ProtoReflect() protoreflect.Message { mi := &file_common_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 ResLogin.ProtoReflect.Descriptor instead. func (*ResLogin) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{0} } func (x *ResLogin) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ResLogin) GetNikeName() string { if x != nil { return x.NikeName } return "" } // 登录 响应 type ReqLogin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NikeName string `protobuf:"bytes,1,opt,name=nikeName,proto3" json:"nikeName,omitempty"` UserId string `protobuf:"bytes,2,opt,name=userId,proto3" json:"userId,omitempty"` GameStatus string `protobuf:"bytes,3,opt,name=gameStatus,proto3" json:"gameStatus,omitempty"` Error *MsgError `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"` } func (x *ReqLogin) Reset() { *x = ReqLogin{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReqLogin) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReqLogin) ProtoMessage() {} func (x *ReqLogin) ProtoReflect() protoreflect.Message { mi := &file_common_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 ReqLogin.ProtoReflect.Descriptor instead. func (*ReqLogin) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{1} } func (x *ReqLogin) GetNikeName() string { if x != nil { return x.NikeName } return "" } func (x *ReqLogin) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ReqLogin) GetGameStatus() string { if x != nil { return x.GameStatus } return "" } func (x *ReqLogin) GetError() *MsgError { if x != nil { return x.Error } return nil } // 进入大厅 type EnterHall struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *EnterHall) Reset() { *x = EnterHall{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EnterHall) String() string { return protoimpl.X.MessageStringOf(x) } func (*EnterHall) ProtoMessage() {} func (x *EnterHall) ProtoReflect() protoreflect.Message { mi := &file_common_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 EnterHall.ProtoReflect.Descriptor instead. func (*EnterHall) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{2} } func (x *EnterHall) GetUserId() string { if x != nil { return x.UserId } return "" } // 离开大厅 type LeaveHall struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *LeaveHall) Reset() { *x = LeaveHall{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LeaveHall) String() string { return protoimpl.X.MessageStringOf(x) } func (*LeaveHall) ProtoMessage() {} func (x *LeaveHall) ProtoReflect() protoreflect.Message { mi := &file_common_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 LeaveHall.ProtoReflect.Descriptor instead. func (*LeaveHall) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{3} } func (x *LeaveHall) GetUserId() string { if x != nil { return x.UserId } return "" } // 加入房间 type ResJoinRoom struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"` RoomId string `protobuf:"bytes,2,opt,name=roomId,proto3" json:"roomId,omitempty"` GameId string `protobuf:"bytes,3,opt,name=gameId,proto3" json:"gameId,omitempty"` } func (x *ResJoinRoom) Reset() { *x = ResJoinRoom{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResJoinRoom) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResJoinRoom) ProtoMessage() {} func (x *ResJoinRoom) ProtoReflect() protoreflect.Message { mi := &file_common_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 ResJoinRoom.ProtoReflect.Descriptor instead. func (*ResJoinRoom) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{4} } func (x *ResJoinRoom) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ResJoinRoom) GetRoomId() string { if x != nil { return x.RoomId } return "" } func (x *ResJoinRoom) GetGameId() string { if x != nil { return x.GameId } return "" } // 加入房间 type ReqJoinRoom struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"` RoomId string `protobuf:"bytes,2,opt,name=roomId,proto3" json:"roomId,omitempty"` GameId string `protobuf:"bytes,3,opt,name=gameId,proto3" json:"gameId,omitempty"` SitPos int32 `protobuf:"varint,4,opt,name=sitPos,proto3" json:"sitPos,omitempty"` RoomInfo *ReqRoom `protobuf:"bytes,5,opt,name=roomInfo,proto3" json:"roomInfo,omitempty"` } func (x *ReqJoinRoom) Reset() { *x = ReqJoinRoom{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReqJoinRoom) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReqJoinRoom) ProtoMessage() {} func (x *ReqJoinRoom) ProtoReflect() protoreflect.Message { mi := &file_common_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 ReqJoinRoom.ProtoReflect.Descriptor instead. func (*ReqJoinRoom) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{5} } func (x *ReqJoinRoom) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ReqJoinRoom) GetRoomId() string { if x != nil { return x.RoomId } return "" } func (x *ReqJoinRoom) GetGameId() string { if x != nil { return x.GameId } return "" } func (x *ReqJoinRoom) GetSitPos() int32 { if x != nil { return x.SitPos } return 0 } func (x *ReqJoinRoom) GetRoomInfo() *ReqRoom { if x != nil { return x.RoomInfo } return nil } // 玩法列表 type PlayList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *PlayList) Reset() { *x = PlayList{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PlayList) String() string { return protoimpl.X.MessageStringOf(x) } func (*PlayList) ProtoMessage() {} func (x *PlayList) ProtoReflect() protoreflect.Message { mi := &file_common_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 PlayList.ProtoReflect.Descriptor instead. func (*PlayList) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{6} } func (x *PlayList) GetUserId() string { if x != nil { return x.UserId } return "" } // 商城 type Shop struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *Shop) Reset() { *x = Shop{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Shop) String() string { return protoimpl.X.MessageStringOf(x) } func (*Shop) ProtoMessage() {} func (x *Shop) ProtoReflect() protoreflect.Message { mi := &file_common_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 Shop.ProtoReflect.Descriptor instead. func (*Shop) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{7} } func (x *Shop) GetUserId() string { if x != nil { return x.UserId } return "" } type ResGameInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GameId string `protobuf:"bytes,1,opt,name=gameId,proto3" json:"gameId,omitempty"` } func (x *ResGameInfo) Reset() { *x = ResGameInfo{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResGameInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResGameInfo) ProtoMessage() {} func (x *ResGameInfo) ProtoReflect() protoreflect.Message { mi := &file_common_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 ResGameInfo.ProtoReflect.Descriptor instead. func (*ResGameInfo) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{8} } func (x *ResGameInfo) GetGameId() string { if x != nil { return x.GameId } return "" } type ReqGameInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GameId string `protobuf:"bytes,1,opt,name=gameId,proto3" json:"gameId,omitempty"` GameName string `protobuf:"bytes,2,opt,name=gameName,proto3" json:"gameName,omitempty"` GameStatus string `protobuf:"bytes,4,opt,name=gameStatus,proto3" json:"gameStatus,omitempty"` GameType string `protobuf:"bytes,5,opt,name=gameType,proto3" json:"gameType,omitempty"` TeenPattiRoomList *TeenPattiRoomList `protobuf:"bytes,6,opt,name=teenPattiRoomList,proto3" json:"teenPattiRoomList,omitempty"` } func (x *ReqGameInfo) Reset() { *x = ReqGameInfo{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReqGameInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReqGameInfo) ProtoMessage() {} func (x *ReqGameInfo) ProtoReflect() protoreflect.Message { mi := &file_common_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 ReqGameInfo.ProtoReflect.Descriptor instead. func (*ReqGameInfo) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{9} } func (x *ReqGameInfo) GetGameId() string { if x != nil { return x.GameId } return "" } func (x *ReqGameInfo) GetGameName() string { if x != nil { return x.GameName } return "" } func (x *ReqGameInfo) GetGameStatus() string { if x != nil { return x.GameStatus } return "" } func (x *ReqGameInfo) GetGameType() string { if x != nil { return x.GameType } return "" } func (x *ReqGameInfo) GetTeenPattiRoomList() *TeenPattiRoomList { if x != nil { return x.TeenPattiRoomList } return nil } type TeenPattiRoomList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TeenPattiRoom []*TeenPattiRoom `protobuf:"bytes,1,rep,name=teenPattiRoom,proto3" json:"teenPattiRoom,omitempty"` } func (x *TeenPattiRoomList) Reset() { *x = TeenPattiRoomList{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TeenPattiRoomList) String() string { return protoimpl.X.MessageStringOf(x) } func (*TeenPattiRoomList) ProtoMessage() {} func (x *TeenPattiRoomList) ProtoReflect() protoreflect.Message { mi := &file_common_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 TeenPattiRoomList.ProtoReflect.Descriptor instead. func (*TeenPattiRoomList) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{10} } func (x *TeenPattiRoomList) GetTeenPattiRoom() []*TeenPattiRoom { if x != nil { return x.TeenPattiRoom } return nil } type TeenPattiRoom struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Boot string `protobuf:"bytes,1,opt,name=boot,proto3" json:"boot,omitempty"` //0.1 MinBuyin string `protobuf:"bytes,2,opt,name=minBuyin,proto3" json:"minBuyin,omitempty"` // 1 ChaalLimmit string `protobuf:"bytes,3,opt,name=chaalLimmit,proto3" json:"chaalLimmit,omitempty"` // 12.8 PotLimit string `protobuf:"bytes,4,opt,name=potLimit,proto3" json:"potLimit,omitempty"` //102.40 TotalPlayers string `protobuf:"bytes,5,opt,name=totalPlayers,proto3" json:"totalPlayers,omitempty"` // 3999 RoomLevel string `protobuf:"bytes,6,opt,name=roomLevel,proto3" json:"roomLevel,omitempty"` //low - mid - high RoomId string `protobuf:"bytes,7,opt,name=roomId,proto3" json:"roomId,omitempty"` Type string `protobuf:"bytes,8,opt,name=type,proto3" json:"type,omitempty"` } func (x *TeenPattiRoom) Reset() { *x = TeenPattiRoom{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TeenPattiRoom) String() string { return protoimpl.X.MessageStringOf(x) } func (*TeenPattiRoom) ProtoMessage() {} func (x *TeenPattiRoom) ProtoReflect() protoreflect.Message { mi := &file_common_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 TeenPattiRoom.ProtoReflect.Descriptor instead. func (*TeenPattiRoom) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{11} } func (x *TeenPattiRoom) GetBoot() string { if x != nil { return x.Boot } return "" } func (x *TeenPattiRoom) GetMinBuyin() string { if x != nil { return x.MinBuyin } return "" } func (x *TeenPattiRoom) GetChaalLimmit() string { if x != nil { return x.ChaalLimmit } return "" } func (x *TeenPattiRoom) GetPotLimit() string { if x != nil { return x.PotLimit } return "" } func (x *TeenPattiRoom) GetTotalPlayers() string { if x != nil { return x.TotalPlayers } return "" } func (x *TeenPattiRoom) GetRoomLevel() string { if x != nil { return x.RoomLevel } return "" } func (x *TeenPattiRoom) GetRoomId() string { if x != nil { return x.RoomId } return "" } func (x *TeenPattiRoom) GetType() string { if x != nil { return x.Type } return "" } // 通知客户端发牌 type ReqDealCard struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SitPos int32 `protobuf:"varint,1,opt,name=sitPos,proto3" json:"sitPos,omitempty"` } func (x *ReqDealCard) Reset() { *x = ReqDealCard{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReqDealCard) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReqDealCard) ProtoMessage() {} func (x *ReqDealCard) ProtoReflect() protoreflect.Message { mi := &file_common_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 ReqDealCard.ProtoReflect.Descriptor instead. func (*ReqDealCard) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{12} } func (x *ReqDealCard) GetSitPos() int32 { if x != nil { return x.SitPos } return 0 } // 通知客户端操作 type ReqPlayerAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SitPos int32 `protobuf:"varint,1,opt,name=sitPos,proto3" json:"sitPos,omitempty"` PlayerOpt *PlayerOpt `protobuf:"bytes,2,opt,name=playerOpt,proto3" json:"playerOpt,omitempty"` } func (x *ReqPlayerAction) Reset() { *x = ReqPlayerAction{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReqPlayerAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReqPlayerAction) ProtoMessage() {} func (x *ReqPlayerAction) ProtoReflect() protoreflect.Message { mi := &file_common_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 ReqPlayerAction.ProtoReflect.Descriptor instead. func (*ReqPlayerAction) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{13} } func (x *ReqPlayerAction) GetSitPos() int32 { if x != nil { return x.SitPos } return 0 } func (x *ReqPlayerAction) GetPlayerOpt() *PlayerOpt { if x != nil { return x.PlayerOpt } return nil } // 接到玩家操作 type ResPlayerOptAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SitPos int32 `protobuf:"varint,1,opt,name=sitPos,proto3" json:"sitPos,omitempty"` PlayerOpt *PlayerOpt `protobuf:"bytes,2,opt,name=playerOpt,proto3" json:"playerOpt,omitempty"` RoomId string `protobuf:"bytes,3,opt,name=roomId,proto3" json:"roomId,omitempty"` GameId string `protobuf:"bytes,4,opt,name=gameId,proto3" json:"gameId,omitempty"` UserId string `protobuf:"bytes,5,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *ResPlayerOptAction) Reset() { *x = ResPlayerOptAction{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResPlayerOptAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResPlayerOptAction) ProtoMessage() {} func (x *ResPlayerOptAction) ProtoReflect() protoreflect.Message { mi := &file_common_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 ResPlayerOptAction.ProtoReflect.Descriptor instead. func (*ResPlayerOptAction) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{14} } func (x *ResPlayerOptAction) GetSitPos() int32 { if x != nil { return x.SitPos } return 0 } func (x *ResPlayerOptAction) GetPlayerOpt() *PlayerOpt { if x != nil { return x.PlayerOpt } return nil } func (x *ResPlayerOptAction) GetRoomId() string { if x != nil { return x.RoomId } return "" } func (x *ResPlayerOptAction) GetGameId() string { if x != nil { return x.GameId } return "" } func (x *ResPlayerOptAction) GetUserId() string { if x != nil { return x.UserId } return "" } type PlayerOpt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OptType PlayerOptType `protobuf:"varint,1,opt,name=opt_type,json=optType,proto3,enum=PlayerOptType" json:"opt_type,omitempty"` // 操作类型 BetAmount int32 `protobuf:"varint,2,opt,name=bet_amount,json=betAmount,proto3" json:"bet_amount,omitempty"` // 下注金额 Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // 操作时间戳 SeenCards []*ReqCard `protobuf:"bytes,4,rep,name=seenCards,proto3" json:"seenCards,omitempty"` // 看牌的牌 } func (x *PlayerOpt) Reset() { *x = PlayerOpt{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PlayerOpt) String() string { return protoimpl.X.MessageStringOf(x) } func (*PlayerOpt) ProtoMessage() {} func (x *PlayerOpt) ProtoReflect() protoreflect.Message { mi := &file_common_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 PlayerOpt.ProtoReflect.Descriptor instead. func (*PlayerOpt) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{15} } func (x *PlayerOpt) GetOptType() PlayerOptType { if x != nil { return x.OptType } return PlayerOptType_OPT_NONE } func (x *PlayerOpt) GetBetAmount() int32 { if x != nil { return x.BetAmount } return 0 } func (x *PlayerOpt) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } func (x *PlayerOpt) GetSeenCards() []*ReqCard { if x != nil { return x.SeenCards } return nil } type ReqRoom struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=Id,proto3" json:"Id,omitempty"` ReqPlayers []*ReqPlayer `protobuf:"bytes,2,rep,name=ReqPlayers,proto3" json:"ReqPlayers,omitempty"` Status int32 `protobuf:"varint,3,opt,name=Status,proto3" json:"Status,omitempty"` Round int32 `protobuf:"varint,4,opt,name=Round,proto3" json:"Round,omitempty"` GameRound *ReqGameRound `protobuf:"bytes,5,opt,name=GameRound,proto3" json:"GameRound,omitempty"` } func (x *ReqRoom) Reset() { *x = ReqRoom{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReqRoom) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReqRoom) ProtoMessage() {} func (x *ReqRoom) ProtoReflect() protoreflect.Message { mi := &file_common_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 ReqRoom.ProtoReflect.Descriptor instead. func (*ReqRoom) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{16} } func (x *ReqRoom) GetId() string { if x != nil { return x.Id } return "" } func (x *ReqRoom) GetReqPlayers() []*ReqPlayer { if x != nil { return x.ReqPlayers } return nil } func (x *ReqRoom) GetStatus() int32 { if x != nil { return x.Status } return 0 } func (x *ReqRoom) GetRound() int32 { if x != nil { return x.Round } return 0 } func (x *ReqRoom) GetGameRound() *ReqGameRound { if x != nil { return x.GameRound } return nil } type ReqCard struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Color int32 `protobuf:"varint,1,opt,name=Color,proto3" json:"Color,omitempty"` Point int32 `protobuf:"varint,2,opt,name=Point,proto3" json:"Point,omitempty"` } func (x *ReqCard) Reset() { *x = ReqCard{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReqCard) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReqCard) ProtoMessage() {} func (x *ReqCard) ProtoReflect() protoreflect.Message { mi := &file_common_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 ReqCard.ProtoReflect.Descriptor instead. func (*ReqCard) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{17} } func (x *ReqCard) GetColor() int32 { if x != nil { return x.Color } return 0 } func (x *ReqCard) GetPoint() int32 { if x != nil { return x.Point } return 0 } type ReqPlayer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=Id,proto3" json:"Id,omitempty"` HandCards []*ReqCard `protobuf:"bytes,2,rep,name=HandCards,proto3" json:"HandCards,omitempty"` SitPos *int32 `protobuf:"varint,3,opt,name=SitPos,proto3,oneof" json:"SitPos,omitempty"` IsDealer *bool `protobuf:"varint,4,opt,name=IsDealer,proto3,oneof" json:"IsDealer,omitempty"` IsSeen *bool `protobuf:"varint,5,opt,name=IsSeen,proto3,oneof" json:"IsSeen,omitempty"` IsPacked *bool `protobuf:"varint,6,opt,name=IsPacked,proto3,oneof" json:"IsPacked,omitempty"` IsShow *bool `protobuf:"varint,7,opt,name=IsShow,proto3,oneof" json:"IsShow,omitempty"` } func (x *ReqPlayer) Reset() { *x = ReqPlayer{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReqPlayer) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReqPlayer) ProtoMessage() {} func (x *ReqPlayer) ProtoReflect() protoreflect.Message { mi := &file_common_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 ReqPlayer.ProtoReflect.Descriptor instead. func (*ReqPlayer) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{18} } func (x *ReqPlayer) GetId() string { if x != nil { return x.Id } return "" } func (x *ReqPlayer) GetHandCards() []*ReqCard { if x != nil { return x.HandCards } return nil } func (x *ReqPlayer) GetSitPos() int32 { if x != nil && x.SitPos != nil { return *x.SitPos } return 0 } func (x *ReqPlayer) GetIsDealer() bool { if x != nil && x.IsDealer != nil { return *x.IsDealer } return false } func (x *ReqPlayer) GetIsSeen() bool { if x != nil && x.IsSeen != nil { return *x.IsSeen } return false } func (x *ReqPlayer) GetIsPacked() bool { if x != nil && x.IsPacked != nil { return *x.IsPacked } return false } func (x *ReqPlayer) GetIsShow() bool { if x != nil && x.IsShow != nil { return *x.IsShow } return false } type ReqPlayerList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ReqPlayers []*ReqPlayer `protobuf:"bytes,1,rep,name=ReqPlayers,proto3" json:"ReqPlayers,omitempty"` } func (x *ReqPlayerList) Reset() { *x = ReqPlayerList{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReqPlayerList) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReqPlayerList) ProtoMessage() {} func (x *ReqPlayerList) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ReqPlayerList.ProtoReflect.Descriptor instead. func (*ReqPlayerList) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{19} } func (x *ReqPlayerList) GetReqPlayers() []*ReqPlayer { if x != nil { return x.ReqPlayers } return nil } type ReqGameRound struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Rounds []*ReqRound `protobuf:"bytes,1,rep,name=Rounds,proto3" json:"Rounds,omitempty"` } func (x *ReqGameRound) Reset() { *x = ReqGameRound{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReqGameRound) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReqGameRound) ProtoMessage() {} func (x *ReqGameRound) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ReqGameRound.ProtoReflect.Descriptor instead. func (*ReqGameRound) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{20} } func (x *ReqGameRound) GetRounds() []*ReqRound { if x != nil { return x.Rounds } return nil } type ReqRound struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // 回合数 Round int32 `protobuf:"varint,1,opt,name=round,proto3" json:"round,omitempty"` // 回合座位 RoundSitPos int32 `protobuf:"varint,2,opt,name=roundSitPos,proto3" json:"roundSitPos,omitempty"` // 回合操作 PlayerOpt *PlayerOpt `protobuf:"bytes,3,opt,name=playerOpt,proto3" json:"playerOpt,omitempty"` // 用户id UserId string `protobuf:"bytes,4,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *ReqRound) Reset() { *x = ReqRound{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReqRound) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReqRound) ProtoMessage() {} func (x *ReqRound) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ReqRound.ProtoReflect.Descriptor instead. func (*ReqRound) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{21} } func (x *ReqRound) GetRound() int32 { if x != nil { return x.Round } return 0 } func (x *ReqRound) GetRoundSitPos() int32 { if x != nil { return x.RoundSitPos } return 0 } func (x *ReqRound) GetPlayerOpt() *PlayerOpt { if x != nil { return x.PlayerOpt } return nil } func (x *ReqRound) GetUserId() string { if x != nil { return x.UserId } return "" } // error type MsgError struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ErrorCode int32 `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"` ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` } func (x *MsgError) Reset() { *x = MsgError{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MsgError) String() string { return protoimpl.X.MessageStringOf(x) } func (*MsgError) ProtoMessage() {} func (x *MsgError) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MsgError.ProtoReflect.Descriptor instead. func (*MsgError) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{22} } func (x *MsgError) GetErrorCode() int32 { if x != nil { return x.ErrorCode } return 0 } func (x *MsgError) GetErrorMsg() string { if x != nil { return x.ErrorMsg } return "" } type Hello struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } func (x *Hello) Reset() { *x = Hello{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Hello) String() string { return protoimpl.X.MessageStringOf(x) } func (*Hello) ProtoMessage() {} func (x *Hello) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Hello.ProtoReflect.Descriptor instead. func (*Hello) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{23} } func (x *Hello) GetName() string { if x != nil { return x.Name } return "" } var File_common_proto protoreflect.FileDescriptor var file_common_proto_rawDesc = []byte{ 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x6b, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x6b, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x7f, 0x0a, 0x08, 0x52, 0x65, 0x71, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x6b, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x6b, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x23, 0x0a, 0x09, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x61, 0x6c, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x09, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x48, 0x61, 0x6c, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x55, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x22, 0x93, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x24, 0x0a, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x52, 0x65, 0x71, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x22, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x1e, 0x0a, 0x04, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x25, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x22, 0xbf, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x11, 0x74, 0x65, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x74, 0x69, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x54, 0x65, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x74, 0x69, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x11, 0x74, 0x65, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x74, 0x69, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x49, 0x0a, 0x11, 0x54, 0x65, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x74, 0x69, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x0d, 0x74, 0x65, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x74, 0x69, 0x52, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x54, 0x65, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x74, 0x69, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x0d, 0x74, 0x65, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x74, 0x69, 0x52, 0x6f, 0x6f, 0x6d, 0x22, 0xeb, 0x01, 0x0a, 0x0d, 0x54, 0x65, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x74, 0x69, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x42, 0x75, 0x79, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x42, 0x75, 0x79, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x61, 0x6c, 0x4c, 0x69, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x61, 0x6c, 0x4c, 0x69, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x25, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x44, 0x65, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x22, 0x53, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x28, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x22, 0x9e, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x28, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x12, 0x29, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x62, 0x65, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x26, 0x0a, 0x09, 0x73, 0x65, 0x65, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x52, 0x65, 0x71, 0x43, 0x61, 0x72, 0x64, 0x52, 0x09, 0x73, 0x65, 0x65, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x73, 0x22, 0xa0, 0x01, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x0a, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x0a, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2b, 0x0a, 0x09, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x52, 0x65, 0x71, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x09, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x35, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x43, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x97, 0x02, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x09, 0x48, 0x61, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x52, 0x65, 0x71, 0x43, 0x61, 0x72, 0x64, 0x52, 0x09, 0x48, 0x61, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x53, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x06, 0x53, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x49, 0x73, 0x44, 0x65, 0x61, 0x6c, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x08, 0x49, 0x73, 0x44, 0x65, 0x61, 0x6c, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x49, 0x73, 0x53, 0x65, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x06, 0x49, 0x73, 0x53, 0x65, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x49, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x08, 0x49, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x06, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x53, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x49, 0x73, 0x44, 0x65, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x49, 0x73, 0x53, 0x65, 0x65, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x49, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x22, 0x3b, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0a, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x0a, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0x31, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x52, 0x65, 0x71, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x06, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x71, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x28, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x08, 0x4d, 0x73, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x1b, 0x0a, 0x05, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x2a, 0x76, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x50, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x50, 0x54, 0x5f, 0x53, 0x45, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x54, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x50, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x50, 0x54, 0x5f, 0x42, 0x49, 0x4e, 0x44, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x54, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x50, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x57, 0x10, 0x06, 0x42, 0x07, 0x5a, 0x05, 0x2e, 0x2f, 0x6d, 0x73, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_common_proto_rawDescOnce sync.Once file_common_proto_rawDescData = file_common_proto_rawDesc ) func file_common_proto_rawDescGZIP() []byte { file_common_proto_rawDescOnce.Do(func() { file_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_common_proto_rawDescData) }) return file_common_proto_rawDescData } var file_common_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_common_proto_goTypes = []interface{}{ (PlayerOptType)(0), // 0: PlayerOptType (*ResLogin)(nil), // 1: ResLogin (*ReqLogin)(nil), // 2: ReqLogin (*EnterHall)(nil), // 3: EnterHall (*LeaveHall)(nil), // 4: LeaveHall (*ResJoinRoom)(nil), // 5: ResJoinRoom (*ReqJoinRoom)(nil), // 6: ReqJoinRoom (*PlayList)(nil), // 7: PlayList (*Shop)(nil), // 8: Shop (*ResGameInfo)(nil), // 9: ResGameInfo (*ReqGameInfo)(nil), // 10: ReqGameInfo (*TeenPattiRoomList)(nil), // 11: TeenPattiRoomList (*TeenPattiRoom)(nil), // 12: TeenPattiRoom (*ReqDealCard)(nil), // 13: ReqDealCard (*ReqPlayerAction)(nil), // 14: ReqPlayerAction (*ResPlayerOptAction)(nil), // 15: ResPlayerOptAction (*PlayerOpt)(nil), // 16: PlayerOpt (*ReqRoom)(nil), // 17: ReqRoom (*ReqCard)(nil), // 18: ReqCard (*ReqPlayer)(nil), // 19: ReqPlayer (*ReqPlayerList)(nil), // 20: ReqPlayerList (*ReqGameRound)(nil), // 21: ReqGameRound (*ReqRound)(nil), // 22: ReqRound (*MsgError)(nil), // 23: MsgError (*Hello)(nil), // 24: Hello } var file_common_proto_depIdxs = []int32{ 23, // 0: ReqLogin.error:type_name -> MsgError 17, // 1: ReqJoinRoom.roomInfo:type_name -> ReqRoom 11, // 2: ReqGameInfo.teenPattiRoomList:type_name -> TeenPattiRoomList 12, // 3: TeenPattiRoomList.teenPattiRoom:type_name -> TeenPattiRoom 16, // 4: ReqPlayerAction.playerOpt:type_name -> PlayerOpt 16, // 5: ResPlayerOptAction.playerOpt:type_name -> PlayerOpt 0, // 6: PlayerOpt.opt_type:type_name -> PlayerOptType 18, // 7: PlayerOpt.seenCards:type_name -> ReqCard 19, // 8: ReqRoom.ReqPlayers:type_name -> ReqPlayer 21, // 9: ReqRoom.GameRound:type_name -> ReqGameRound 18, // 10: ReqPlayer.HandCards:type_name -> ReqCard 19, // 11: ReqPlayerList.ReqPlayers:type_name -> ReqPlayer 22, // 12: ReqGameRound.Rounds:type_name -> ReqRound 16, // 13: ReqRound.playerOpt:type_name -> PlayerOpt 14, // [14:14] is the sub-list for method output_type 14, // [14:14] is the sub-list for method input_type 14, // [14:14] is the sub-list for extension type_name 14, // [14:14] is the sub-list for extension extendee 0, // [0:14] is the sub-list for field type_name } func init() { file_common_proto_init() } func file_common_proto_init() { if File_common_proto != nil { return } if !protoimpl.UnsafeEnabled { file_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResLogin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReqLogin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EnterHall); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LeaveHall); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResJoinRoom); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReqJoinRoom); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlayList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Shop); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResGameInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReqGameInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TeenPattiRoomList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TeenPattiRoom); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReqDealCard); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReqPlayerAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResPlayerOptAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlayerOpt); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReqRoom); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReqCard); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReqPlayer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReqPlayerList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReqGameRound); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReqRound); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgError); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Hello); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_common_proto_msgTypes[18].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_common_proto_rawDesc, NumEnums: 1, NumMessages: 24, NumExtensions: 0, NumServices: 0, }, GoTypes: file_common_proto_goTypes, DependencyIndexes: file_common_proto_depIdxs, EnumInfos: file_common_proto_enumTypes, MessageInfos: file_common_proto_msgTypes, }.Build() File_common_proto = out.File file_common_proto_rawDesc = nil file_common_proto_goTypes = nil file_common_proto_depIdxs = nil }