game_sync/protocol/fishing/fishing.pb.go

5093 lines
167 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.27.1-devel
// protoc v3.19.4
// source: fishing.proto
package fishing
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
//操作结果
type OpResultCode int32
const (
OpResultCode_OPRC_Sucess OpResultCode = 0 //成功
OpResultCode_OPRC_Error OpResultCode = 1 //失败
OpResultCode_OPRC_CoinNotEnough OpResultCode = 1056 //钱不够
)
// Enum value maps for OpResultCode.
var (
OpResultCode_name = map[int32]string{
0: "OPRC_Sucess",
1: "OPRC_Error",
1056: "OPRC_CoinNotEnough",
}
OpResultCode_value = map[string]int32{
"OPRC_Sucess": 0,
"OPRC_Error": 1,
"OPRC_CoinNotEnough": 1056,
}
)
func (x OpResultCode) Enum() *OpResultCode {
p := new(OpResultCode)
*p = x
return p
}
func (x OpResultCode) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (OpResultCode) Descriptor() protoreflect.EnumDescriptor {
return file_fishing_proto_enumTypes[0].Descriptor()
}
func (OpResultCode) Type() protoreflect.EnumType {
return &file_fishing_proto_enumTypes[0]
}
func (x OpResultCode) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use OpResultCode.Descriptor instead.
func (OpResultCode) EnumDescriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{0}
}
//捕鱼
type FIPacketID int32
const (
FIPacketID_FISHING_ZERO FIPacketID = 0 // 弃用消息号
FIPacketID_FISHING_SC_ROOMINFO FIPacketID = 5000 // 房间信息
FIPacketID_FISHING_CS_OP FIPacketID = 5001 // 玩家操作(客户-》服务)
FIPacketID_FISHING_SC_OP FIPacketID = 5002 // 玩家操作(服务-》客户)
FIPacketID_FISHING_SC_ROOMSTATE FIPacketID = 5003 // 房间状态
FIPacketID_FISHING_SC_SEATS FIPacketID = 5004 // 座位信息
FIPacketID_FISHING_SC_SYNCFISH FIPacketID = 5006 // 同步鱼帧同步每100毫秒一帧
FIPacketID_FISHING_SC_FISHERENTER FIPacketID = 5007 // 同步存活的鱼
FIPacketID_FISHING_CS_LOADCOMPLETE FIPacketID = 5008 // 获取存活的鱼
FIPacketID_FISHING_SC_FIRE FIPacketID = 5009 // 通知开枪
FIPacketID_FISHING_SC_FIREHIT FIPacketID = 5010 // 通知命中
FIPacketID_FISHING_SC_FIREPOWER FIPacketID = 5011 // 设置炮台倍率
FIPacketID_FISHING_CS_FREEZE FIPacketID = 5012
FIPacketID_FISHING_SC_FREEZE FIPacketID = 5013 // 通知冰冻事件
FIPacketID_FISHING_CS_FISHVIEW FIPacketID = 5014 // 触发鱼事件
FIPacketID_FISHING_SC_FISHVIEW FIPacketID = 5015
FIPacketID_FISHING_CS_FISHTARGET FIPacketID = 5016 // 瞄准
FIPacketID_FISHING_SC_FISHTARGET FIPacketID = 5017 // 通知瞄准
FIPacketID_FISHING_SC_SELVIP FIPacketID = 5018
FIPacketID_FISHING_SC_ENTER FIPacketID = 5019
FIPacketID_FISHING_SC_LEAVE FIPacketID = 5020
FIPacketID_FISHING_SC_FISHDEL FIPacketID = 5022
FIPacketID_FISHING_SC_JACKPOTFISHDEL FIPacketID = 5023
FIPacketID_FISHING_CS_LOOKLOCKFISH FIPacketID = 5024
FIPacketID_FISHING_SC_LOOKLOCKFISH FIPacketID = 5025
FIPacketID_FISHING_SC_PRANACHANGE FIPacketID = 5026 // 能量炮变化
FIPacketID_FISHING_CS_REALYPRANA FIPacketID = 5027 // 放置能量炮炮台
FIPacketID_FISHING_SC_REALYPRANA FIPacketID = 5028 // 放置能量炮炮台
FIPacketID_FISHING_CS_FIREPRANA FIPacketID = 5029 // 发射能量炮
FIPacketID_FISHING_SC_FIREPRANA FIPacketID = 5030 // 发射能量炮
FIPacketID_FISHING_SC_JACKPOTPOOLCHANGE FIPacketID = 5031 // jackpot变化
FIPacketID_FISHING_SC_JACKPOTCOIN FIPacketID = 5032 // 爆奖
FIPacketID_FISHING_SC_RETPRANACOIN FIPacketID = 5033 // 客户端显示使用
FIPacketID_FISHING_SC_REBINDAGENT FIPacketID = 5034 //重新绑定机器人
FIPacketID_FISHING_SC_FIREMISS FIPacketID = 5035 //攻击未命中(可能鱼不存在)
FIPacketID_FISHING_SC_SCROBOTBEHAVIOR FIPacketID = 5036 // 通知前端变更机器人行为
FIPacketID_FISHING_SC_SCSYNCFISHCOIN FIPacketID = 5037 // 同步财神鱼金额
FIPacketID_FISHING_SC_NEWSYNCFISH FIPacketID = 5038
FIPacketID_FISHING_SC_TREASURECHESTEVENT FIPacketID = 5039 // 龙王夺宝相关事件处理机
FIPacketID_FISHING_SC_SYNCFISHHP FIPacketID = 5040 // 天天捕鱼同步鱼血条
FIPacketID_FISHING_SC_POWERSTATE FIPacketID = 5041 // 同步玩家得炮台状态
FIPacketID_FISHING_SC_NOTIFYAPPEARFISH FIPacketID = 5042 //通知客户端出鱼
FIPacketID_FISHING_SC_NOTIFYCHANGESCENE FIPacketID = 5043 //通知客户端切换场景
FIPacketID_FISHING_CS_SKILLLISTREQ FIPacketID = 5044 //请求房间技能列表
FIPacketID_FISHING_SC_SKILLLISTRESP FIPacketID = 5045 //通知客户端房间技能列表
FIPacketID_FISHING_CS_SKILLUSEREQ FIPacketID = 5046 //客户端通知使用技能
FIPacketID_FISHING_SC_SKILLUSERESP FIPacketID = 5047 //使用技能返回消息
FIPacketID_FISHING_SC_SKILLUSEBEGIN FIPacketID = 5048 //通知其他玩家使用技能开始
FIPacketID_FISHING_CS_SYNCTIMEPOINT FIPacketID = 5049 //客户端请求帧同步
FIPacketID_FISHING_SC_SYNCTIMEPOINT FIPacketID = 5050 //服务器返回帧同步
)
// Enum value maps for FIPacketID.
var (
FIPacketID_name = map[int32]string{
0: "FISHING_ZERO",
5000: "FISHING_SC_ROOMINFO",
5001: "FISHING_CS_OP",
5002: "FISHING_SC_OP",
5003: "FISHING_SC_ROOMSTATE",
5004: "FISHING_SC_SEATS",
5006: "FISHING_SC_SYNCFISH",
5007: "FISHING_SC_FISHERENTER",
5008: "FISHING_CS_LOADCOMPLETE",
5009: "FISHING_SC_FIRE",
5010: "FISHING_SC_FIREHIT",
5011: "FISHING_SC_FIREPOWER",
5012: "FISHING_CS_FREEZE",
5013: "FISHING_SC_FREEZE",
5014: "FISHING_CS_FISHVIEW",
5015: "FISHING_SC_FISHVIEW",
5016: "FISHING_CS_FISHTARGET",
5017: "FISHING_SC_FISHTARGET",
5018: "FISHING_SC_SELVIP",
5019: "FISHING_SC_ENTER",
5020: "FISHING_SC_LEAVE",
5022: "FISHING_SC_FISHDEL",
5023: "FISHING_SC_JACKPOTFISHDEL",
5024: "FISHING_CS_LOOKLOCKFISH",
5025: "FISHING_SC_LOOKLOCKFISH",
5026: "FISHING_SC_PRANACHANGE",
5027: "FISHING_CS_REALYPRANA",
5028: "FISHING_SC_REALYPRANA",
5029: "FISHING_CS_FIREPRANA",
5030: "FISHING_SC_FIREPRANA",
5031: "FISHING_SC_JACKPOTPOOLCHANGE",
5032: "FISHING_SC_JACKPOTCOIN",
5033: "FISHING_SC_RETPRANACOIN",
5034: "FISHING_SC_REBINDAGENT",
5035: "FISHING_SC_FIREMISS",
5036: "FISHING_SC_SCROBOTBEHAVIOR",
5037: "FISHING_SC_SCSYNCFISHCOIN",
5038: "FISHING_SC_NEWSYNCFISH",
5039: "FISHING_SC_TREASURECHESTEVENT",
5040: "FISHING_SC_SYNCFISHHP",
5041: "FISHING_SC_POWERSTATE",
5042: "FISHING_SC_NOTIFYAPPEARFISH",
5043: "FISHING_SC_NOTIFYCHANGESCENE",
5044: "FISHING_CS_SKILLLISTREQ",
5045: "FISHING_SC_SKILLLISTRESP",
5046: "FISHING_CS_SKILLUSEREQ",
5047: "FISHING_SC_SKILLUSERESP",
5048: "FISHING_SC_SKILLUSEBEGIN",
5049: "FISHING_CS_SYNCTIMEPOINT",
5050: "FISHING_SC_SYNCTIMEPOINT",
}
FIPacketID_value = map[string]int32{
"FISHING_ZERO": 0,
"FISHING_SC_ROOMINFO": 5000,
"FISHING_CS_OP": 5001,
"FISHING_SC_OP": 5002,
"FISHING_SC_ROOMSTATE": 5003,
"FISHING_SC_SEATS": 5004,
"FISHING_SC_SYNCFISH": 5006,
"FISHING_SC_FISHERENTER": 5007,
"FISHING_CS_LOADCOMPLETE": 5008,
"FISHING_SC_FIRE": 5009,
"FISHING_SC_FIREHIT": 5010,
"FISHING_SC_FIREPOWER": 5011,
"FISHING_CS_FREEZE": 5012,
"FISHING_SC_FREEZE": 5013,
"FISHING_CS_FISHVIEW": 5014,
"FISHING_SC_FISHVIEW": 5015,
"FISHING_CS_FISHTARGET": 5016,
"FISHING_SC_FISHTARGET": 5017,
"FISHING_SC_SELVIP": 5018,
"FISHING_SC_ENTER": 5019,
"FISHING_SC_LEAVE": 5020,
"FISHING_SC_FISHDEL": 5022,
"FISHING_SC_JACKPOTFISHDEL": 5023,
"FISHING_CS_LOOKLOCKFISH": 5024,
"FISHING_SC_LOOKLOCKFISH": 5025,
"FISHING_SC_PRANACHANGE": 5026,
"FISHING_CS_REALYPRANA": 5027,
"FISHING_SC_REALYPRANA": 5028,
"FISHING_CS_FIREPRANA": 5029,
"FISHING_SC_FIREPRANA": 5030,
"FISHING_SC_JACKPOTPOOLCHANGE": 5031,
"FISHING_SC_JACKPOTCOIN": 5032,
"FISHING_SC_RETPRANACOIN": 5033,
"FISHING_SC_REBINDAGENT": 5034,
"FISHING_SC_FIREMISS": 5035,
"FISHING_SC_SCROBOTBEHAVIOR": 5036,
"FISHING_SC_SCSYNCFISHCOIN": 5037,
"FISHING_SC_NEWSYNCFISH": 5038,
"FISHING_SC_TREASURECHESTEVENT": 5039,
"FISHING_SC_SYNCFISHHP": 5040,
"FISHING_SC_POWERSTATE": 5041,
"FISHING_SC_NOTIFYAPPEARFISH": 5042,
"FISHING_SC_NOTIFYCHANGESCENE": 5043,
"FISHING_CS_SKILLLISTREQ": 5044,
"FISHING_SC_SKILLLISTRESP": 5045,
"FISHING_CS_SKILLUSEREQ": 5046,
"FISHING_SC_SKILLUSERESP": 5047,
"FISHING_SC_SKILLUSEBEGIN": 5048,
"FISHING_CS_SYNCTIMEPOINT": 5049,
"FISHING_SC_SYNCTIMEPOINT": 5050,
}
)
func (x FIPacketID) Enum() *FIPacketID {
p := new(FIPacketID)
*p = x
return p
}
func (x FIPacketID) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (FIPacketID) Descriptor() protoreflect.EnumDescriptor {
return file_fishing_proto_enumTypes[1].Descriptor()
}
func (FIPacketID) Type() protoreflect.EnumType {
return &file_fishing_proto_enumTypes[1]
}
func (x FIPacketID) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use FIPacketID.Descriptor instead.
func (FIPacketID) EnumDescriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{1}
}
type SCFishSkillUseResp_SkillStatusEnum int32
const (
SCFishSkillUseResp_FUTILITY SCFishSkillUseResp_SkillStatusEnum = 0 //无用
SCFishSkillUseResp_ROOM_DISALLOW SCFishSkillUseResp_SkillStatusEnum = 1 //此技能无法在此类房间内使用
SCFishSkillUseResp_VIP_LIMIT SCFishSkillUseResp_SkillStatusEnum = 2 //VIP等级不足
SCFishSkillUseResp_TOOL_LIMIT SCFishSkillUseResp_SkillStatusEnum = 3 //物品不足无法使用
SCFishSkillUseResp_UN_POWER SCFishSkillUseResp_SkillStatusEnum = 4 //炮倍解锁不足
SCFishSkillUseResp_CD SCFishSkillUseResp_SkillStatusEnum = 5 //自身技能CD
SCFishSkillUseResp_USABLE SCFishSkillUseResp_SkillStatusEnum = 6 //可用
SCFishSkillUseResp_NOT_EXISTS SCFishSkillUseResp_SkillStatusEnum = 7 //技能ID不存在
SCFishSkillUseResp_NO_FISH_CONFIG SCFishSkillUseResp_SkillStatusEnum = 8 //此房间未配置BOSS鱼信息
SCFishSkillUseResp_WORLD_BOSS SCFishSkillUseResp_SkillStatusEnum = 9 //存在世界BOSS
)
// Enum value maps for SCFishSkillUseResp_SkillStatusEnum.
var (
SCFishSkillUseResp_SkillStatusEnum_name = map[int32]string{
0: "FUTILITY",
1: "ROOM_DISALLOW",
2: "VIP_LIMIT",
3: "TOOL_LIMIT",
4: "UN_POWER",
5: "CD",
6: "USABLE",
7: "NOT_EXISTS",
8: "NO_FISH_CONFIG",
9: "WORLD_BOSS",
}
SCFishSkillUseResp_SkillStatusEnum_value = map[string]int32{
"FUTILITY": 0,
"ROOM_DISALLOW": 1,
"VIP_LIMIT": 2,
"TOOL_LIMIT": 3,
"UN_POWER": 4,
"CD": 5,
"USABLE": 6,
"NOT_EXISTS": 7,
"NO_FISH_CONFIG": 8,
"WORLD_BOSS": 9,
}
)
func (x SCFishSkillUseResp_SkillStatusEnum) Enum() *SCFishSkillUseResp_SkillStatusEnum {
p := new(SCFishSkillUseResp_SkillStatusEnum)
*p = x
return p
}
func (x SCFishSkillUseResp_SkillStatusEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SCFishSkillUseResp_SkillStatusEnum) Descriptor() protoreflect.EnumDescriptor {
return file_fishing_proto_enumTypes[2].Descriptor()
}
func (SCFishSkillUseResp_SkillStatusEnum) Type() protoreflect.EnumType {
return &file_fishing_proto_enumTypes[2]
}
func (x SCFishSkillUseResp_SkillStatusEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SCFishSkillUseResp_SkillStatusEnum.Descriptor instead.
func (SCFishSkillUseResp_SkillStatusEnum) EnumDescriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{46, 0}
}
type FishingPlayerData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` //名字
SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` //账号
Head int32 `protobuf:"varint,3,opt,name=Head,proto3" json:"Head,omitempty"` //头像
Sex int32 `protobuf:"varint,4,opt,name=Sex,proto3" json:"Sex,omitempty"` //性别
Coin int64 `protobuf:"varint,5,opt,name=Coin,proto3" json:"Coin,omitempty"` //金币
Pos int32 `protobuf:"varint,6,opt,name=Pos,proto3" json:"Pos,omitempty"` //座位位置
Flag int32 `protobuf:"varint,7,opt,name=Flag,proto3" json:"Flag,omitempty"` //二进制标记
Params string `protobuf:"bytes,8,opt,name=Params,proto3" json:"Params,omitempty"` //其他数据 如:ip 等
City string `protobuf:"bytes,9,opt,name=City,proto3" json:"City,omitempty"` //城市
HeadOutLine int32 `protobuf:"varint,10,opt,name=HeadOutLine,proto3" json:"HeadOutLine,omitempty"` //头像框
VIP int32 `protobuf:"varint,11,opt,name=VIP,proto3" json:"VIP,omitempty"`
SelVip int32 `protobuf:"varint,12,opt,name=SelVip,proto3" json:"SelVip,omitempty"` //选择的VIP鱼炮
Power int32 `protobuf:"varint,13,opt,name=Power,proto3" json:"Power,omitempty"`
IsRobot bool `protobuf:"varint,14,opt,name=IsRobot,proto3" json:"IsRobot,omitempty"` //0 正常玩家 1 机器人
AgentParam int32 `protobuf:"varint,15,opt,name=AgentParam,proto3" json:"AgentParam,omitempty"` //IsRobot=0 代理的机器人ID; IsRobot=1 代理发炮的真人ID;
TargetSel int32 `protobuf:"varint,16,opt,name=TargetSel,proto3" json:"TargetSel,omitempty"` //瞄准
AutoFishing int32 `protobuf:"varint,17,opt,name=AutoFishing,proto3" json:"AutoFishing,omitempty"` //自动
FireRate int32 `protobuf:"varint,18,opt,name=FireRate,proto3" json:"FireRate,omitempty"` //发炮倍速
PranaPercent int32 `protobuf:"varint,19,opt,name=PranaPercent,proto3" json:"PranaPercent,omitempty"` //能量炮蓄池
NiceId int32 `protobuf:"varint,20,opt,name=NiceId,proto3" json:"NiceId,omitempty"`
RobotSnIds []int32 `protobuf:"varint,21,rep,packed,name=RobotSnIds,proto3" json:"RobotSnIds,omitempty"` //代理的机器人们
UnMaxPower int64 `protobuf:"varint,22,opt,name=UnMaxPower,proto3" json:"UnMaxPower,omitempty"` //解锁的最大炮倍
UnPowerList []int32 `protobuf:"varint,23,rep,packed,name=UnPowerList,proto3" json:"UnPowerList,omitempty"` //解锁的炮台
FishLevel int64 `protobuf:"varint,24,opt,name=FishLevel,proto3" json:"FishLevel,omitempty"` //捕鱼等级
FishExp int64 `protobuf:"varint,25,opt,name=FishExp,proto3" json:"FishExp,omitempty"` //捕鱼经验
}
func (x *FishingPlayerData) Reset() {
*x = FishingPlayerData{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FishingPlayerData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FishingPlayerData) ProtoMessage() {}
func (x *FishingPlayerData) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 FishingPlayerData.ProtoReflect.Descriptor instead.
func (*FishingPlayerData) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{0}
}
func (x *FishingPlayerData) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *FishingPlayerData) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *FishingPlayerData) GetHead() int32 {
if x != nil {
return x.Head
}
return 0
}
func (x *FishingPlayerData) GetSex() int32 {
if x != nil {
return x.Sex
}
return 0
}
func (x *FishingPlayerData) GetCoin() int64 {
if x != nil {
return x.Coin
}
return 0
}
func (x *FishingPlayerData) GetPos() int32 {
if x != nil {
return x.Pos
}
return 0
}
func (x *FishingPlayerData) GetFlag() int32 {
if x != nil {
return x.Flag
}
return 0
}
func (x *FishingPlayerData) GetParams() string {
if x != nil {
return x.Params
}
return ""
}
func (x *FishingPlayerData) GetCity() string {
if x != nil {
return x.City
}
return ""
}
func (x *FishingPlayerData) GetHeadOutLine() int32 {
if x != nil {
return x.HeadOutLine
}
return 0
}
func (x *FishingPlayerData) GetVIP() int32 {
if x != nil {
return x.VIP
}
return 0
}
func (x *FishingPlayerData) GetSelVip() int32 {
if x != nil {
return x.SelVip
}
return 0
}
func (x *FishingPlayerData) GetPower() int32 {
if x != nil {
return x.Power
}
return 0
}
func (x *FishingPlayerData) GetIsRobot() bool {
if x != nil {
return x.IsRobot
}
return false
}
func (x *FishingPlayerData) GetAgentParam() int32 {
if x != nil {
return x.AgentParam
}
return 0
}
func (x *FishingPlayerData) GetTargetSel() int32 {
if x != nil {
return x.TargetSel
}
return 0
}
func (x *FishingPlayerData) GetAutoFishing() int32 {
if x != nil {
return x.AutoFishing
}
return 0
}
func (x *FishingPlayerData) GetFireRate() int32 {
if x != nil {
return x.FireRate
}
return 0
}
func (x *FishingPlayerData) GetPranaPercent() int32 {
if x != nil {
return x.PranaPercent
}
return 0
}
func (x *FishingPlayerData) GetNiceId() int32 {
if x != nil {
return x.NiceId
}
return 0
}
func (x *FishingPlayerData) GetRobotSnIds() []int32 {
if x != nil {
return x.RobotSnIds
}
return nil
}
func (x *FishingPlayerData) GetUnMaxPower() int64 {
if x != nil {
return x.UnMaxPower
}
return 0
}
func (x *FishingPlayerData) GetUnPowerList() []int32 {
if x != nil {
return x.UnPowerList
}
return nil
}
func (x *FishingPlayerData) GetFishLevel() int64 {
if x != nil {
return x.FishLevel
}
return 0
}
func (x *FishingPlayerData) GetFishExp() int64 {
if x != nil {
return x.FishExp
}
return 0
}
//房间信息
type SCFishingRoomInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoomId int32 `protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"` //房间id
Creator int32 `protobuf:"varint,2,opt,name=Creator,proto3" json:"Creator,omitempty"` //创建者SnId
GameId int32 `protobuf:"varint,3,opt,name=GameId,proto3" json:"GameId,omitempty"` //游戏id
RoomMode int32 `protobuf:"varint,4,opt,name=RoomMode,proto3" json:"RoomMode,omitempty"` //游戏模式
Params []int32 `protobuf:"varint,5,rep,packed,name=Params,proto3" json:"Params,omitempty"` //规则参数
NumOfGames int32 `protobuf:"varint,6,opt,name=NumOfGames,proto3" json:"NumOfGames,omitempty"` //当前第几局
Cards []int32 `protobuf:"varint,7,rep,packed,name=Cards,proto3" json:"Cards,omitempty"` //转盘数据
State int32 `protobuf:"varint,8,opt,name=State,proto3" json:"State,omitempty"` //房间当前状态
TimeOut int32 `protobuf:"varint,9,opt,name=TimeOut,proto3" json:"TimeOut,omitempty"` //等待剩余时间 单位:毫秒
DisbandGen int32 `protobuf:"varint,10,opt,name=DisbandGen,proto3" json:"DisbandGen,omitempty"` //解散申请
AgentId int32 `protobuf:"varint,11,opt,name=AgentId,proto3" json:"AgentId,omitempty"` //代开房者
MatchParams []int32 `protobuf:"varint,12,rep,packed,name=MatchParams,proto3" json:"MatchParams,omitempty"` //比赛参数
SceneType int32 `protobuf:"varint,13,opt,name=SceneType,proto3" json:"SceneType,omitempty"` //房间模式 1:初级模式 3:高级模式
Players []*FishingPlayerData `protobuf:"bytes,14,rep,name=Players,proto3" json:"Players,omitempty"` //房间内的玩家信息
GameFreeId int32 `protobuf:"varint,15,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"`
FrozenTick int32 `protobuf:"varint,16,opt,name=FrozenTick,proto3" json:"FrozenTick,omitempty"` //冰冻时间
JackpotPool int64 `protobuf:"varint,17,opt,name=JackpotPool,proto3" json:"JackpotPool,omitempty"` //奖金池
MinPower int32 `protobuf:"varint,18,opt,name=MinPower,proto3" json:"MinPower,omitempty"` //房间的最小炮倍
MaxPower int32 `protobuf:"varint,19,opt,name=MaxPower,proto3" json:"MaxPower,omitempty"` //房间的最大炮倍
PowerList []int64 `protobuf:"varint,20,rep,packed,name=PowerList,proto3" json:"PowerList,omitempty"` //炮倍列表
ChangeSceneId int32 `protobuf:"varint,21,opt,name=ChangeSceneId,proto3" json:"ChangeSceneId,omitempty"` //当前使用的场景
}
func (x *SCFishingRoomInfo) Reset() {
*x = SCFishingRoomInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCFishingRoomInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCFishingRoomInfo) ProtoMessage() {}
func (x *SCFishingRoomInfo) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 SCFishingRoomInfo.ProtoReflect.Descriptor instead.
func (*SCFishingRoomInfo) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{1}
}
func (x *SCFishingRoomInfo) GetRoomId() int32 {
if x != nil {
return x.RoomId
}
return 0
}
func (x *SCFishingRoomInfo) GetCreator() int32 {
if x != nil {
return x.Creator
}
return 0
}
func (x *SCFishingRoomInfo) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *SCFishingRoomInfo) GetRoomMode() int32 {
if x != nil {
return x.RoomMode
}
return 0
}
func (x *SCFishingRoomInfo) GetParams() []int32 {
if x != nil {
return x.Params
}
return nil
}
func (x *SCFishingRoomInfo) GetNumOfGames() int32 {
if x != nil {
return x.NumOfGames
}
return 0
}
func (x *SCFishingRoomInfo) GetCards() []int32 {
if x != nil {
return x.Cards
}
return nil
}
func (x *SCFishingRoomInfo) GetState() int32 {
if x != nil {
return x.State
}
return 0
}
func (x *SCFishingRoomInfo) GetTimeOut() int32 {
if x != nil {
return x.TimeOut
}
return 0
}
func (x *SCFishingRoomInfo) GetDisbandGen() int32 {
if x != nil {
return x.DisbandGen
}
return 0
}
func (x *SCFishingRoomInfo) GetAgentId() int32 {
if x != nil {
return x.AgentId
}
return 0
}
func (x *SCFishingRoomInfo) GetMatchParams() []int32 {
if x != nil {
return x.MatchParams
}
return nil
}
func (x *SCFishingRoomInfo) GetSceneType() int32 {
if x != nil {
return x.SceneType
}
return 0
}
func (x *SCFishingRoomInfo) GetPlayers() []*FishingPlayerData {
if x != nil {
return x.Players
}
return nil
}
func (x *SCFishingRoomInfo) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *SCFishingRoomInfo) GetFrozenTick() int32 {
if x != nil {
return x.FrozenTick
}
return 0
}
func (x *SCFishingRoomInfo) GetJackpotPool() int64 {
if x != nil {
return x.JackpotPool
}
return 0
}
func (x *SCFishingRoomInfo) GetMinPower() int32 {
if x != nil {
return x.MinPower
}
return 0
}
func (x *SCFishingRoomInfo) GetMaxPower() int32 {
if x != nil {
return x.MaxPower
}
return 0
}
func (x *SCFishingRoomInfo) GetPowerList() []int64 {
if x != nil {
return x.PowerList
}
return nil
}
func (x *SCFishingRoomInfo) GetChangeSceneId() int32 {
if x != nil {
return x.ChangeSceneId
}
return 0
}
//玩家操作
type CSFishingOp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
//开炮 OpCode:0 Params:{炮火的X方向,炮火的Y方向,子弹编号,子弹倍率,fishId如果锁定鱼了代表表示鱼的ID(默认发-1),multiple 子弹倍数 默认1倍}
//命中 OpCode:1 params:{子弹编号,鱼ID,鱼ID,鱼ID,鱼ID,鱼ID,鱼ID,鱼ID}
//切换倍率 OpCode:2 Params:{每一击金币数量}
//切换VIP鱼炮 OpCode:3 Params:{VIP}
//机器人开炮 OpCode:4 Params:{机器人ID,炮火的X方向,炮火的Y方向,子弹编号,子弹倍率,fishId如果锁定鱼了代表 表示鱼的ID(默认发-1),}
//机器人命中 OpCode:5 params:{机器人ID,子弹编号,鱼ID,鱼ID,鱼ID,鱼ID,鱼ID,鱼ID,鱼ID}
//切后台 OpCode:6
//切前台 OpCode:7
OpCode int32 `protobuf:"varint,1,opt,name=OpCode,proto3" json:"OpCode,omitempty"` //操作码
Params []int64 `protobuf:"varint,2,rep,packed,name=Params,proto3" json:"Params,omitempty"` //操作参数
}
func (x *CSFishingOp) Reset() {
*x = CSFishingOp{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSFishingOp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSFishingOp) ProtoMessage() {}
func (x *CSFishingOp) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 CSFishingOp.ProtoReflect.Descriptor instead.
func (*CSFishingOp) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{2}
}
func (x *CSFishingOp) GetOpCode() int32 {
if x != nil {
return x.OpCode
}
return 0
}
func (x *CSFishingOp) GetParams() []int64 {
if x != nil {
return x.Params
}
return nil
}
type SCFishingOp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpCode int32 `protobuf:"varint,1,opt,name=OpCode,proto3" json:"OpCode,omitempty"` //操作码
Params []int64 `protobuf:"varint,2,rep,packed,name=Params,proto3" json:"Params,omitempty"` //操作参数
OpRetCode OpResultCode `protobuf:"varint,3,opt,name=OpRetCode,proto3,enum=fishing.OpResultCode" json:"OpRetCode,omitempty"` //返回错误码
SnId int32 `protobuf:"varint,4,opt,name=SnId,proto3" json:"SnId,omitempty"`
}
func (x *SCFishingOp) Reset() {
*x = SCFishingOp{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCFishingOp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCFishingOp) ProtoMessage() {}
func (x *SCFishingOp) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 SCFishingOp.ProtoReflect.Descriptor instead.
func (*SCFishingOp) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{3}
}
func (x *SCFishingOp) GetOpCode() int32 {
if x != nil {
return x.OpCode
}
return 0
}
func (x *SCFishingOp) GetParams() []int64 {
if x != nil {
return x.Params
}
return nil
}
func (x *SCFishingOp) GetOpRetCode() OpResultCode {
if x != nil {
return x.OpRetCode
}
return OpResultCode_OPRC_Sucess
}
func (x *SCFishingOp) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
//FISHING_SC_FIRE
type SCFire struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"`
X int32 `protobuf:"varint,2,opt,name=X,proto3" json:"X,omitempty"` //炮火的方向
Y int32 `protobuf:"varint,3,opt,name=Y,proto3" json:"Y,omitempty"` //炮火的方向
Bulletid int32 `protobuf:"varint,4,opt,name=Bulletid,proto3" json:"Bulletid,omitempty"` //子弹ID
Power int32 `protobuf:"varint,5,opt,name=Power,proto3" json:"Power,omitempty"` //子弹倍率-
CurrentPlayerCoin int64 `protobuf:"varint,6,opt,name=CurrentPlayerCoin,proto3" json:"CurrentPlayerCoin,omitempty"` //当前玩家的金币
FishId int32 `protobuf:"varint,7,opt,name=FishId,proto3" json:"FishId,omitempty"` //如果锁定鱼了代表表示鱼的ID(默认发-1)
Multiple int32 `protobuf:"varint,8,opt,name=Multiple,proto3" json:"Multiple,omitempty"` //狂暴倍数
}
func (x *SCFire) Reset() {
*x = SCFire{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCFire) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCFire) ProtoMessage() {}
func (x *SCFire) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 SCFire.ProtoReflect.Descriptor instead.
func (*SCFire) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{4}
}
func (x *SCFire) GetSnid() int32 {
if x != nil {
return x.Snid
}
return 0
}
func (x *SCFire) GetX() int32 {
if x != nil {
return x.X
}
return 0
}
func (x *SCFire) GetY() int32 {
if x != nil {
return x.Y
}
return 0
}
func (x *SCFire) GetBulletid() int32 {
if x != nil {
return x.Bulletid
}
return 0
}
func (x *SCFire) GetPower() int32 {
if x != nil {
return x.Power
}
return 0
}
func (x *SCFire) GetCurrentPlayerCoin() int64 {
if x != nil {
return x.CurrentPlayerCoin
}
return 0
}
func (x *SCFire) GetFishId() int32 {
if x != nil {
return x.FishId
}
return 0
}
func (x *SCFire) GetMultiple() int32 {
if x != nil {
return x.Multiple
}
return 0
}
//FISHING_SC_FIREHIT
type SCFireHit struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"`
FishId []int32 `protobuf:"varint,2,rep,packed,name=FishId,proto3" json:"FishId,omitempty"` // 鱼ID
Coin []int32 `protobuf:"varint,3,rep,packed,name=Coin,proto3" json:"Coin,omitempty"` // 获得金币,和FishId一一对应
Item []int32 `protobuf:"varint,4,rep,packed,name=Item,proto3" json:"Item,omitempty"` //获得的道具
Money int32 `protobuf:"varint,5,opt,name=Money,proto3" json:"Money,omitempty"` //获得的钻石
Ts int64 `protobuf:"varint,6,opt,name=Ts,proto3" json:"Ts,omitempty"` // 时间戳
Event int32 `protobuf:"varint,7,opt,name=Event,proto3" json:"Event,omitempty"` // 事件ID
EventFish int32 `protobuf:"varint,8,opt,name=EventFish,proto3" json:"EventFish,omitempty"` // 事件鱼id
CurrentPlayerCoin int64 `protobuf:"varint,9,opt,name=CurrentPlayerCoin,proto3" json:"CurrentPlayerCoin,omitempty"` // 当前玩家的金币
EventCoin int32 `protobuf:"varint,10,opt,name=EventCoin,proto3" json:"EventCoin,omitempty"` // 事件鱼自身的金币(用户弹暴富累加用)
Power int32 `protobuf:"varint,11,opt,name=Power,proto3" json:"Power,omitempty"` // 炮倍
AddExp int32 `protobuf:"varint,12,opt,name=AddExp,proto3" json:"AddExp,omitempty"` //经验值
}
func (x *SCFireHit) Reset() {
*x = SCFireHit{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCFireHit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCFireHit) ProtoMessage() {}
func (x *SCFireHit) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 SCFireHit.ProtoReflect.Descriptor instead.
func (*SCFireHit) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{5}
}
func (x *SCFireHit) GetSnid() int32 {
if x != nil {
return x.Snid
}
return 0
}
func (x *SCFireHit) GetFishId() []int32 {
if x != nil {
return x.FishId
}
return nil
}
func (x *SCFireHit) GetCoin() []int32 {
if x != nil {
return x.Coin
}
return nil
}
func (x *SCFireHit) GetItem() []int32 {
if x != nil {
return x.Item
}
return nil
}
func (x *SCFireHit) GetMoney() int32 {
if x != nil {
return x.Money
}
return 0
}
func (x *SCFireHit) GetTs() int64 {
if x != nil {
return x.Ts
}
return 0
}
func (x *SCFireHit) GetEvent() int32 {
if x != nil {
return x.Event
}
return 0
}
func (x *SCFireHit) GetEventFish() int32 {
if x != nil {
return x.EventFish
}
return 0
}
func (x *SCFireHit) GetCurrentPlayerCoin() int64 {
if x != nil {
return x.CurrentPlayerCoin
}
return 0
}
func (x *SCFireHit) GetEventCoin() int32 {
if x != nil {
return x.EventCoin
}
return 0
}
func (x *SCFireHit) GetPower() int32 {
if x != nil {
return x.Power
}
return 0
}
func (x *SCFireHit) GetAddExp() int32 {
if x != nil {
return x.AddExp
}
return 0
}
//FISHING_SC_TREASURECHESTEVENT
type SCTreasureChestEvent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"` // 玩家ID
Reward []int32 `protobuf:"varint,2,rep,packed,name=Reward,proto3" json:"Reward,omitempty"` // 对应奖励倍数集合
CurrentPlayerCoin int64 `protobuf:"varint,3,opt,name=CurrentPlayerCoin,proto3" json:"CurrentPlayerCoin,omitempty"` //当前玩家的金币
}
func (x *SCTreasureChestEvent) Reset() {
*x = SCTreasureChestEvent{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCTreasureChestEvent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCTreasureChestEvent) ProtoMessage() {}
func (x *SCTreasureChestEvent) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 SCTreasureChestEvent.ProtoReflect.Descriptor instead.
func (*SCTreasureChestEvent) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{6}
}
func (x *SCTreasureChestEvent) GetSnid() int32 {
if x != nil {
return x.Snid
}
return 0
}
func (x *SCTreasureChestEvent) GetReward() []int32 {
if x != nil {
return x.Reward
}
return nil
}
func (x *SCTreasureChestEvent) GetCurrentPlayerCoin() int64 {
if x != nil {
return x.CurrentPlayerCoin
}
return 0
}
//FISHING_SC_FIREMISS
type SCFireMiss struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FishId int32 `protobuf:"varint,1,opt,name=FishId,proto3" json:"FishId,omitempty"` //鱼标识
Rate int32 `protobuf:"varint,2,opt,name=Rate,proto3" json:"Rate,omitempty"` //击杀概率,-1表示鱼不存在
}
func (x *SCFireMiss) Reset() {
*x = SCFireMiss{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCFireMiss) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCFireMiss) ProtoMessage() {}
func (x *SCFireMiss) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 SCFireMiss.ProtoReflect.Descriptor instead.
func (*SCFireMiss) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{7}
}
func (x *SCFireMiss) GetFishId() int32 {
if x != nil {
return x.FishId
}
return 0
}
func (x *SCFireMiss) GetRate() int32 {
if x != nil {
return x.Rate
}
return 0
}
//FISHING_SC_FIREPOWER
type SCFirePower struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"`
Power int32 `protobuf:"varint,2,opt,name=Power,proto3" json:"Power,omitempty"` //每一击金币数量
RobitFire bool `protobuf:"varint,3,opt,name=RobitFire,proto3" json:"RobitFire,omitempty"` //机器人能否开火
TargetPower int32 `protobuf:"varint,4,opt,name=TargetPower,proto3" json:"TargetPower,omitempty"` //机器人目标倍率
}
func (x *SCFirePower) Reset() {
*x = SCFirePower{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCFirePower) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCFirePower) ProtoMessage() {}
func (x *SCFirePower) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 SCFirePower.ProtoReflect.Descriptor instead.
func (*SCFirePower) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{8}
}
func (x *SCFirePower) GetSnid() int32 {
if x != nil {
return x.Snid
}
return 0
}
func (x *SCFirePower) GetPower() int32 {
if x != nil {
return x.Power
}
return 0
}
func (x *SCFirePower) GetRobitFire() bool {
if x != nil {
return x.RobitFire
}
return false
}
func (x *SCFirePower) GetTargetPower() int32 {
if x != nil {
return x.TargetPower
}
return 0
}
//FISHING_SC_SELVIP
type SCSelVip struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"`
Vip int32 `protobuf:"varint,2,opt,name=Vip,proto3" json:"Vip,omitempty"` //选择的VIP鱼炮
}
func (x *SCSelVip) Reset() {
*x = SCSelVip{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCSelVip) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCSelVip) ProtoMessage() {}
func (x *SCSelVip) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 SCSelVip.ProtoReflect.Descriptor instead.
func (*SCSelVip) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{9}
}
func (x *SCSelVip) GetSnid() int32 {
if x != nil {
return x.Snid
}
return 0
}
func (x *SCSelVip) GetVip() int32 {
if x != nil {
return x.Vip
}
return 0
}
//房间状态
type SCFishingRoomState struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
State int32 `protobuf:"varint,1,opt,name=State,proto3" json:"State,omitempty"` //房间当前状态
SubState int32 `protobuf:"varint,2,opt,name=SubState,proto3" json:"SubState,omitempty"` //房间当前子状态
Params []int32 `protobuf:"varint,3,rep,packed,name=Params,proto3" json:"Params,omitempty"` //状态参数
}
func (x *SCFishingRoomState) Reset() {
*x = SCFishingRoomState{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCFishingRoomState) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCFishingRoomState) ProtoMessage() {}
func (x *SCFishingRoomState) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 SCFishingRoomState.ProtoReflect.Descriptor instead.
func (*SCFishingRoomState) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{10}
}
func (x *SCFishingRoomState) GetState() int32 {
if x != nil {
return x.State
}
return 0
}
func (x *SCFishingRoomState) GetSubState() int32 {
if x != nil {
return x.SubState
}
return 0
}
func (x *SCFishingRoomState) GetParams() []int32 {
if x != nil {
return x.Params
}
return nil
}
//座位数据
type SCFishingSeats struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Data []*FishingPlayerData `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` //房间当前状态
}
func (x *SCFishingSeats) Reset() {
*x = SCFishingSeats{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCFishingSeats) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCFishingSeats) ProtoMessage() {}
func (x *SCFishingSeats) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 SCFishingSeats.ProtoReflect.Descriptor instead.
func (*SCFishingSeats) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{11}
}
func (x *SCFishingSeats) GetData() []*FishingPlayerData {
if x != nil {
return x.Data
}
return nil
}
//进入房间
type SCfishingEnter struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Data *FishingPlayerData `protobuf:"bytes,1,opt,name=Data,proto3" json:"Data,omitempty"` //新用户
}
func (x *SCfishingEnter) Reset() {
*x = SCfishingEnter{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCfishingEnter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCfishingEnter) ProtoMessage() {}
func (x *SCfishingEnter) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 SCfishingEnter.ProtoReflect.Descriptor instead.
func (*SCfishingEnter) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{12}
}
func (x *SCfishingEnter) GetData() *FishingPlayerData {
if x != nil {
return x.Data
}
return nil
}
//退出房间
type SCfishingLeave struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"` //用户
}
func (x *SCfishingLeave) Reset() {
*x = SCfishingLeave{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCfishingLeave) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCfishingLeave) ProtoMessage() {}
func (x *SCfishingLeave) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 SCfishingLeave.ProtoReflect.Descriptor instead.
func (*SCfishingLeave) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{13}
}
func (x *SCfishingLeave) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
//fishid定义policyid*1000000 + DB_Policyx.Id*100 + 单行的自增长id
type SCSyncRefreshFish struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PolicyId int32 `protobuf:"varint,1,opt,name=PolicyId,proto3" json:"PolicyId,omitempty"` //
TimePoint int32 `protobuf:"varint,2,opt,name=TimePoint,proto3" json:"TimePoint,omitempty"`
RandomSeed int32 `protobuf:"varint,3,opt,name=RandomSeed,proto3" json:"RandomSeed,omitempty"` //当前随机种子
}
func (x *SCSyncRefreshFish) Reset() {
*x = SCSyncRefreshFish{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCSyncRefreshFish) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCSyncRefreshFish) ProtoMessage() {}
func (x *SCSyncRefreshFish) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 SCSyncRefreshFish.ProtoReflect.Descriptor instead.
func (*SCSyncRefreshFish) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{14}
}
func (x *SCSyncRefreshFish) GetPolicyId() int32 {
if x != nil {
return x.PolicyId
}
return 0
}
func (x *SCSyncRefreshFish) GetTimePoint() int32 {
if x != nil {
return x.TimePoint
}
return 0
}
func (x *SCSyncRefreshFish) GetRandomSeed() int32 {
if x != nil {
return x.RandomSeed
}
return 0
}
type SyncRefreshFishInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TemplateId int32 `protobuf:"varint,1,opt,name=TemplateId,proto3" json:"TemplateId,omitempty"` // 需要更新鱼的ID 用于在配置表中 查询具体数据 例如 700470057006
Num int32 `protobuf:"varint,2,opt,name=Num,proto3" json:"Num,omitempty"` // 当前这类鱼需要更新的数量
}
func (x *SyncRefreshFishInfo) Reset() {
*x = SyncRefreshFishInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncRefreshFishInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncRefreshFishInfo) ProtoMessage() {}
func (x *SyncRefreshFishInfo) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 SyncRefreshFishInfo.ProtoReflect.Descriptor instead.
func (*SyncRefreshFishInfo) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{15}
}
func (x *SyncRefreshFishInfo) GetTemplateId() int32 {
if x != nil {
return x.TemplateId
}
return 0
}
func (x *SyncRefreshFishInfo) GetNum() int32 {
if x != nil {
return x.Num
}
return 0
}
type SCNewSyncRefreshFish struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PolicyId int32 `protobuf:"varint,1,opt,name=PolicyId,proto3" json:"PolicyId,omitempty"` // 当前对用的场景策略ID
Info []*SyncRefreshFishInfo `protobuf:"bytes,2,rep,name=info,proto3" json:"info,omitempty"` // 需要更新的鱼的信息
LatestID int32 `protobuf:"varint,3,opt,name=LatestID,proto3" json:"LatestID,omitempty"`
RandomSeed int32 `protobuf:"varint,4,opt,name=RandomSeed,proto3" json:"RandomSeed,omitempty"` //当前随机种子
}
func (x *SCNewSyncRefreshFish) Reset() {
*x = SCNewSyncRefreshFish{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCNewSyncRefreshFish) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCNewSyncRefreshFish) ProtoMessage() {}
func (x *SCNewSyncRefreshFish) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 SCNewSyncRefreshFish.ProtoReflect.Descriptor instead.
func (*SCNewSyncRefreshFish) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{16}
}
func (x *SCNewSyncRefreshFish) GetPolicyId() int32 {
if x != nil {
return x.PolicyId
}
return 0
}
func (x *SCNewSyncRefreshFish) GetInfo() []*SyncRefreshFishInfo {
if x != nil {
return x.Info
}
return nil
}
func (x *SCNewSyncRefreshFish) GetLatestID() int32 {
if x != nil {
return x.LatestID
}
return 0
}
func (x *SCNewSyncRefreshFish) GetRandomSeed() int32 {
if x != nil {
return x.RandomSeed
}
return 0
}
//FISHING_SC_FISHERENTER
type FishInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FishID int32 `protobuf:"varint,1,opt,name=FishID,proto3" json:"FishID,omitempty"` //鱼的Id唯一表示
FishType int32 `protobuf:"varint,2,opt,name=FishType,proto3" json:"FishType,omitempty"` //鱼的类型 对应Fish表
FishPath int32 `protobuf:"varint,3,opt,name=FishPath,proto3" json:"FishPath,omitempty"` //出鱼路径
FishSpeed int32 `protobuf:"varint,4,opt,name=FishSpeed,proto3" json:"FishSpeed,omitempty"` //鱼的速度
FishChild []int32 `protobuf:"varint,5,rep,packed,name=FishChild,proto3" json:"FishChild,omitempty"` //孩子 后续用
BirthTick int32 `protobuf:"varint,6,opt,name=BirthTick,proto3" json:"BirthTick,omitempty"` //出生帧
LiveTick int32 `protobuf:"varint,7,opt,name=LiveTick,proto3" json:"LiveTick,omitempty"` //结束帧
}
func (x *FishInfo) Reset() {
*x = FishInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FishInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FishInfo) ProtoMessage() {}
func (x *FishInfo) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 FishInfo.ProtoReflect.Descriptor instead.
func (*FishInfo) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{17}
}
func (x *FishInfo) GetFishID() int32 {
if x != nil {
return x.FishID
}
return 0
}
func (x *FishInfo) GetFishType() int32 {
if x != nil {
return x.FishType
}
return 0
}
func (x *FishInfo) GetFishPath() int32 {
if x != nil {
return x.FishPath
}
return 0
}
func (x *FishInfo) GetFishSpeed() int32 {
if x != nil {
return x.FishSpeed
}
return 0
}
func (x *FishInfo) GetFishChild() []int32 {
if x != nil {
return x.FishChild
}
return nil
}
func (x *FishInfo) GetBirthTick() int32 {
if x != nil {
return x.BirthTick
}
return 0
}
func (x *FishInfo) GetLiveTick() int32 {
if x != nil {
return x.LiveTick
}
return 0
}
//FISHING_CS_LOADCOMPLETE
type CSLoadComplete struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CSLoadComplete) Reset() {
*x = CSLoadComplete{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSLoadComplete) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSLoadComplete) ProtoMessage() {}
func (x *CSLoadComplete) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 CSLoadComplete.ProtoReflect.Descriptor instead.
func (*CSLoadComplete) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{18}
}
type SCFishesEnter struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
//int32 PolicyId = 1;
Fishes []*FishInfo `protobuf:"bytes,2,rep,name=Fishes,proto3" json:"Fishes,omitempty"`
IceSec int32 `protobuf:"varint,3,opt,name=IceSec,proto3" json:"IceSec,omitempty"` //冰冻时间(秒)
TimeTick int32 `protobuf:"varint,4,opt,name=TimeTick,proto3" json:"TimeTick,omitempty"`
}
func (x *SCFishesEnter) Reset() {
*x = SCFishesEnter{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCFishesEnter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCFishesEnter) ProtoMessage() {}
func (x *SCFishesEnter) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 SCFishesEnter.ProtoReflect.Descriptor instead.
func (*SCFishesEnter) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{19}
}
func (x *SCFishesEnter) GetFishes() []*FishInfo {
if x != nil {
return x.Fishes
}
return nil
}
func (x *SCFishesEnter) GetIceSec() int32 {
if x != nil {
return x.IceSec
}
return 0
}
func (x *SCFishesEnter) GetTimeTick() int32 {
if x != nil {
return x.TimeTick
}
return 0
}
//屏幕中的鱼 FISHING_CS_FISHVIEW
type CSFishView struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Fishs []int32 `protobuf:"varint,1,rep,packed,name=Fishs,proto3" json:"Fishs,omitempty"` // 收集的鱼
Sign string `protobuf:"bytes,2,opt,name=Sign,proto3" json:"Sign,omitempty"` // 事件唯一标记
EventFish int32 `protobuf:"varint,3,opt,name=EventFish,proto3" json:"EventFish,omitempty"` // 事件鱼标识
SnId int32 `protobuf:"varint,4,opt,name=SnId,proto3" json:"SnId,omitempty"` // 玩家SnId
}
func (x *CSFishView) Reset() {
*x = CSFishView{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSFishView) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSFishView) ProtoMessage() {}
func (x *CSFishView) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 CSFishView.ProtoReflect.Descriptor instead.
func (*CSFishView) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{20}
}
func (x *CSFishView) GetFishs() []int32 {
if x != nil {
return x.Fishs
}
return nil
}
func (x *CSFishView) GetSign() string {
if x != nil {
return x.Sign
}
return ""
}
func (x *CSFishView) GetEventFish() int32 {
if x != nil {
return x.EventFish
}
return 0
}
func (x *CSFishView) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
type PlayerPowerState struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"` // 玩家ID
State int32 `protobuf:"varint,2,opt,name=State,proto3" json:"State,omitempty"` // 炮台状态
Num int32 `protobuf:"varint,3,opt,name=Num,proto3" json:"Num,omitempty"` // 炮台剩余数量
}
func (x *PlayerPowerState) Reset() {
*x = PlayerPowerState{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PlayerPowerState) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlayerPowerState) ProtoMessage() {}
func (x *PlayerPowerState) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 PlayerPowerState.ProtoReflect.Descriptor instead.
func (*PlayerPowerState) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{21}
}
func (x *PlayerPowerState) GetSnid() int32 {
if x != nil {
return x.Snid
}
return 0
}
func (x *PlayerPowerState) GetState() int32 {
if x != nil {
return x.State
}
return 0
}
func (x *PlayerPowerState) GetNum() int32 {
if x != nil {
return x.Num
}
return 0
}
// 更新当前玩家炮台状态
type SCPowerState struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PowerState []*PlayerPowerState `protobuf:"bytes,1,rep,name=PowerState,proto3" json:"PowerState,omitempty"`
}
func (x *SCPowerState) Reset() {
*x = SCPowerState{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCPowerState) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCPowerState) ProtoMessage() {}
func (x *SCPowerState) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 SCPowerState.ProtoReflect.Descriptor instead.
func (*SCPowerState) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{22}
}
func (x *SCPowerState) GetPowerState() []*PlayerPowerState {
if x != nil {
return x.PowerState
}
return nil
}
// 鱼已经死亡返回鱼分 FISHING_SC_FishDel
type SCFishDel struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FishId int32 `protobuf:"varint,1,opt,name=FishId,proto3" json:"FishId,omitempty"`
Coin int32 `protobuf:"varint,2,opt,name=Coin,proto3" json:"Coin,omitempty"` // 返回发炮金币
CurrentPlayerCoin int64 `protobuf:"varint,3,opt,name=CurrentPlayerCoin,proto3" json:"CurrentPlayerCoin,omitempty"` //当前玩家的金币v
Snid int32 `protobuf:"varint,4,opt,name=Snid,proto3" json:"Snid,omitempty"`
}
func (x *SCFishDel) Reset() {
*x = SCFishDel{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCFishDel) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCFishDel) ProtoMessage() {}
func (x *SCFishDel) ProtoReflect() protoreflect.Message {
mi := &file_fishing_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 SCFishDel.ProtoReflect.Descriptor instead.
func (*SCFishDel) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{23}
}
func (x *SCFishDel) GetFishId() int32 {
if x != nil {
return x.FishId
}
return 0
}
func (x *SCFishDel) GetCoin() int32 {
if x != nil {
return x.Coin
}
return 0
}
func (x *SCFishDel) GetCurrentPlayerCoin() int64 {
if x != nil {
return x.CurrentPlayerCoin
}
return 0
}
func (x *SCFishDel) GetSnid() int32 {
if x != nil {
return x.Snid
}
return 0
}
// 通知客户端该条鱼是奖金鱼 FISHING_SC_JACKPOTFishDel
type SCJackpotFish struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FishIds []int32 `protobuf:"varint,1,rep,packed,name=FishIds,proto3" json:"FishIds,omitempty"`
}
func (x *SCJackpotFish) Reset() {
*x = SCJackpotFish{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCJackpotFish) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCJackpotFish) ProtoMessage() {}
func (x *SCJackpotFish) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[24]
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 SCJackpotFish.ProtoReflect.Descriptor instead.
func (*SCJackpotFish) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{24}
}
func (x *SCJackpotFish) GetFishIds() []int32 {
if x != nil {
return x.FishIds
}
return nil
}
// FISHING_CS_LOOKLOCKFISH
type CSLookLockFish struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CSLookLockFish) Reset() {
*x = CSLookLockFish{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSLookLockFish) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSLookLockFish) ProtoMessage() {}
func (x *CSLookLockFish) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[25]
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 CSLookLockFish.ProtoReflect.Descriptor instead.
func (*CSLookLockFish) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{25}
}
// FISHING_SC_LOOKLOCKFISH
type SCLookLockFish struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FishId []int32 `protobuf:"varint,1,rep,packed,name=FishId,proto3" json:"FishId,omitempty"`
FishIdNum []int32 `protobuf:"varint,2,rep,packed,name=FishIdNum,proto3" json:"FishIdNum,omitempty"`
}
func (x *SCLookLockFish) Reset() {
*x = SCLookLockFish{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCLookLockFish) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCLookLockFish) ProtoMessage() {}
func (x *SCLookLockFish) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[26]
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 SCLookLockFish.ProtoReflect.Descriptor instead.
func (*SCLookLockFish) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{26}
}
func (x *SCLookLockFish) GetFishId() []int32 {
if x != nil {
return x.FishId
}
return nil
}
func (x *SCLookLockFish) GetFishIdNum() []int32 {
if x != nil {
return x.FishIdNum
}
return nil
}
// FISHING_SC_PRANACHANGE 通知客户端能量炮蓄池变化
type SCSendReadyPrana struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"`
Percent int32 `protobuf:"varint,2,opt,name=Percent,proto3" json:"Percent,omitempty"`
}
func (x *SCSendReadyPrana) Reset() {
*x = SCSendReadyPrana{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCSendReadyPrana) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCSendReadyPrana) ProtoMessage() {}
func (x *SCSendReadyPrana) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[27]
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 SCSendReadyPrana.ProtoReflect.Descriptor instead.
func (*SCSendReadyPrana) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{27}
}
func (x *SCSendReadyPrana) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *SCSendReadyPrana) GetPercent() int32 {
if x != nil {
return x.Percent
}
return 0
}
// FISHING_CS_REALYPRANA = 5027; // 放置能量炮炮台
type CSReadyPrana struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"`
X int32 `protobuf:"varint,2,opt,name=X,proto3" json:"X,omitempty"`
Y int32 `protobuf:"varint,3,opt,name=Y,proto3" json:"Y,omitempty"`
}
func (x *CSReadyPrana) Reset() {
*x = CSReadyPrana{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSReadyPrana) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSReadyPrana) ProtoMessage() {}
func (x *CSReadyPrana) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[28]
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 CSReadyPrana.ProtoReflect.Descriptor instead.
func (*CSReadyPrana) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{28}
}
func (x *CSReadyPrana) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *CSReadyPrana) GetX() int32 {
if x != nil {
return x.X
}
return 0
}
func (x *CSReadyPrana) GetY() int32 {
if x != nil {
return x.Y
}
return 0
}
// FISHING_SC_REALYPRANA = 5028; // 放置能量炮炮台
type SCReadyPrana struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"`
OpRetCode OpResultCode `protobuf:"varint,2,opt,name=OpRetCode,proto3,enum=fishing.OpResultCode" json:"OpRetCode,omitempty"` //返回错误码
X int32 `protobuf:"varint,3,opt,name=X,proto3" json:"X,omitempty"`
Y int32 `protobuf:"varint,4,opt,name=Y,proto3" json:"Y,omitempty"`
}
func (x *SCReadyPrana) Reset() {
*x = SCReadyPrana{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCReadyPrana) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCReadyPrana) ProtoMessage() {}
func (x *SCReadyPrana) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[29]
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 SCReadyPrana.ProtoReflect.Descriptor instead.
func (*SCReadyPrana) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{29}
}
func (x *SCReadyPrana) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *SCReadyPrana) GetOpRetCode() OpResultCode {
if x != nil {
return x.OpRetCode
}
return OpResultCode_OPRC_Sucess
}
func (x *SCReadyPrana) GetX() int32 {
if x != nil {
return x.X
}
return 0
}
func (x *SCReadyPrana) GetY() int32 {
if x != nil {
return x.Y
}
return 0
}
// FISHING_CS_FIREPRANA = 5029; // 发射能量炮
type CSFirePrana struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"`
FishIds []int32 `protobuf:"varint,2,rep,packed,name=FishIds,proto3" json:"FishIds,omitempty"` // 碰撞的鱼
X int32 `protobuf:"varint,3,opt,name=X,proto3" json:"X,omitempty"`
Y int32 `protobuf:"varint,4,opt,name=Y,proto3" json:"Y,omitempty"`
}
func (x *CSFirePrana) Reset() {
*x = CSFirePrana{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSFirePrana) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSFirePrana) ProtoMessage() {}
func (x *CSFirePrana) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[30]
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 CSFirePrana.ProtoReflect.Descriptor instead.
func (*CSFirePrana) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{30}
}
func (x *CSFirePrana) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *CSFirePrana) GetFishIds() []int32 {
if x != nil {
return x.FishIds
}
return nil
}
func (x *CSFirePrana) GetX() int32 {
if x != nil {
return x.X
}
return 0
}
func (x *CSFirePrana) GetY() int32 {
if x != nil {
return x.Y
}
return 0
}
// FISHING_SC_FIREPRANA = 5030; // 发射能量炮
type SCFirePrana struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"`
OpRetCode OpResultCode `protobuf:"varint,2,opt,name=OpRetCode,proto3,enum=fishing.OpResultCode" json:"OpRetCode,omitempty"`
X int32 `protobuf:"varint,3,opt,name=X,proto3" json:"X,omitempty"`
Y int32 `protobuf:"varint,4,opt,name=Y,proto3" json:"Y,omitempty"`
}
func (x *SCFirePrana) Reset() {
*x = SCFirePrana{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCFirePrana) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCFirePrana) ProtoMessage() {}
func (x *SCFirePrana) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[31]
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 SCFirePrana.ProtoReflect.Descriptor instead.
func (*SCFirePrana) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{31}
}
func (x *SCFirePrana) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *SCFirePrana) GetOpRetCode() OpResultCode {
if x != nil {
return x.OpRetCode
}
return OpResultCode_OPRC_Sucess
}
func (x *SCFirePrana) GetX() int32 {
if x != nil {
return x.X
}
return 0
}
func (x *SCFirePrana) GetY() int32 {
if x != nil {
return x.Y
}
return 0
}
// FISHING_SC_JACKPOTCOIN = 5032
type SCJackpotCoin struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"`
Coin int32 `protobuf:"varint,2,opt,name=Coin,proto3" json:"Coin,omitempty"`
JackpotLevel int32 `protobuf:"varint,3,opt,name=JackpotLevel,proto3" json:"JackpotLevel,omitempty"`
Name string `protobuf:"bytes,4,opt,name=Name,proto3" json:"Name,omitempty"`
}
func (x *SCJackpotCoin) Reset() {
*x = SCJackpotCoin{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCJackpotCoin) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCJackpotCoin) ProtoMessage() {}
func (x *SCJackpotCoin) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[32]
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 SCJackpotCoin.ProtoReflect.Descriptor instead.
func (*SCJackpotCoin) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{32}
}
func (x *SCJackpotCoin) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *SCJackpotCoin) GetCoin() int32 {
if x != nil {
return x.Coin
}
return 0
}
func (x *SCJackpotCoin) GetJackpotLevel() int32 {
if x != nil {
return x.JackpotLevel
}
return 0
}
func (x *SCJackpotCoin) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// FISHING_SC_JACKPOTPOOLCHANGE = 5031; // 奖池变化
type SCJackpotPool struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Coin int64 `protobuf:"varint,1,opt,name=Coin,proto3" json:"Coin,omitempty"`
}
func (x *SCJackpotPool) Reset() {
*x = SCJackpotPool{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCJackpotPool) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCJackpotPool) ProtoMessage() {}
func (x *SCJackpotPool) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[33]
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 SCJackpotPool.ProtoReflect.Descriptor instead.
func (*SCJackpotPool) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{33}
}
func (x *SCJackpotPool) GetCoin() int64 {
if x != nil {
return x.Coin
}
return 0
}
// FISHING_SC_RETPRANACOIN
type SCRetPranaCoin struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"`
Coin int64 `protobuf:"varint,2,opt,name=Coin,proto3" json:"Coin,omitempty"`
}
func (x *SCRetPranaCoin) Reset() {
*x = SCRetPranaCoin{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCRetPranaCoin) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCRetPranaCoin) ProtoMessage() {}
func (x *SCRetPranaCoin) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[34]
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 SCRetPranaCoin.ProtoReflect.Descriptor instead.
func (*SCRetPranaCoin) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{34}
}
func (x *SCRetPranaCoin) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *SCRetPranaCoin) GetCoin() int64 {
if x != nil {
return x.Coin
}
return 0
}
//FISHING_SC_REBINDAGENT
type SCReBindAgent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PlayerSnid int32 `protobuf:"varint,1,opt,name=PlayerSnid,proto3" json:"PlayerSnid,omitempty"` //真实玩家snid
RobSnid int32 `protobuf:"varint,2,opt,name=RobSnid,proto3" json:"RobSnid,omitempty"` //对应机器人snid
}
func (x *SCReBindAgent) Reset() {
*x = SCReBindAgent{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCReBindAgent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCReBindAgent) ProtoMessage() {}
func (x *SCReBindAgent) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[35]
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 SCReBindAgent.ProtoReflect.Descriptor instead.
func (*SCReBindAgent) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{35}
}
func (x *SCReBindAgent) GetPlayerSnid() int32 {
if x != nil {
return x.PlayerSnid
}
return 0
}
func (x *SCReBindAgent) GetRobSnid() int32 {
if x != nil {
return x.RobSnid
}
return 0
}
type SCRobotBehavior struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Code int32 `protobuf:"varint,1,opt,name=Code,proto3" json:"Code,omitempty"` // 机器人行为ID 0:停止开炮
RobotId int32 `protobuf:"varint,2,opt,name=RobotId,proto3" json:"RobotId,omitempty"` //机器人ID
}
func (x *SCRobotBehavior) Reset() {
*x = SCRobotBehavior{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCRobotBehavior) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCRobotBehavior) ProtoMessage() {}
func (x *SCRobotBehavior) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[36]
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 SCRobotBehavior.ProtoReflect.Descriptor instead.
func (*SCRobotBehavior) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{36}
}
func (x *SCRobotBehavior) GetCode() int32 {
if x != nil {
return x.Code
}
return 0
}
func (x *SCRobotBehavior) GetRobotId() int32 {
if x != nil {
return x.RobotId
}
return 0
}
//FISHING_SC_SCSYNCFISHCOIN
type SCSyncFishCoin struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FishId int32 `protobuf:"varint,1,opt,name=FishId,proto3" json:"FishId,omitempty"` //鱼id
Coin int64 `protobuf:"varint,2,opt,name=Coin,proto3" json:"Coin,omitempty"` //鱼奖金
}
func (x *SCSyncFishCoin) Reset() {
*x = SCSyncFishCoin{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCSyncFishCoin) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCSyncFishCoin) ProtoMessage() {}
func (x *SCSyncFishCoin) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[37]
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 SCSyncFishCoin.ProtoReflect.Descriptor instead.
func (*SCSyncFishCoin) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{37}
}
func (x *SCSyncFishCoin) GetFishId() int32 {
if x != nil {
return x.FishId
}
return 0
}
func (x *SCSyncFishCoin) GetCoin() int64 {
if x != nil {
return x.Coin
}
return 0
}
//FISHING_SC_SYNCFISHHP
type FishHpInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FishID int32 `protobuf:"varint,1,opt,name=FishID,proto3" json:"FishID,omitempty"`
HpRatio int32 `protobuf:"varint,2,opt,name=HpRatio,proto3" json:"HpRatio,omitempty"` //当前血条比例 需要除以100显示
}
func (x *FishHpInfo) Reset() {
*x = FishHpInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FishHpInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FishHpInfo) ProtoMessage() {}
func (x *FishHpInfo) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[38]
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 FishHpInfo.ProtoReflect.Descriptor instead.
func (*FishHpInfo) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{38}
}
func (x *FishHpInfo) GetFishID() int32 {
if x != nil {
return x.FishID
}
return 0
}
func (x *FishHpInfo) GetHpRatio() int32 {
if x != nil {
return x.HpRatio
}
return 0
}
type SCSyncFishHp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HpInfo []*FishHpInfo `protobuf:"bytes,1,rep,name=HpInfo,proto3" json:"HpInfo,omitempty"` //鱼的血量
}
func (x *SCSyncFishHp) Reset() {
*x = SCSyncFishHp{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCSyncFishHp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCSyncFishHp) ProtoMessage() {}
func (x *SCSyncFishHp) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[39]
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 SCSyncFishHp.ProtoReflect.Descriptor instead.
func (*SCSyncFishHp) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{39}
}
func (x *SCSyncFishHp) GetHpInfo() []*FishHpInfo {
if x != nil {
return x.HpInfo
}
return nil
}
//通知客户端出鱼
//FISHING_SC_NOTIFYAPPEARFISH
type SCNotifyAppearFish struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OutFishType int32 `protobuf:"varint,1,opt,name=OutFishType,proto3" json:"OutFishType,omitempty"` //出鱼类型 1-普通出鱼 2-鱼潮(暂时没用 保留)
Fishs []*FishInfo `protobuf:"bytes,2,rep,name=Fishs,proto3" json:"Fishs,omitempty"`
}
func (x *SCNotifyAppearFish) Reset() {
*x = SCNotifyAppearFish{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCNotifyAppearFish) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCNotifyAppearFish) ProtoMessage() {}
func (x *SCNotifyAppearFish) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[40]
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 SCNotifyAppearFish.ProtoReflect.Descriptor instead.
func (*SCNotifyAppearFish) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{40}
}
func (x *SCNotifyAppearFish) GetOutFishType() int32 {
if x != nil {
return x.OutFishType
}
return 0
}
func (x *SCNotifyAppearFish) GetFishs() []*FishInfo {
if x != nil {
return x.Fishs
}
return nil
}
//通知切换场景
//FISHING_SC_NOTIFYCHANGESCENE
type SCNotifyChangeScene struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SceneId int32 `protobuf:"varint,1,opt,name=sceneId,proto3" json:"sceneId,omitempty"`
}
func (x *SCNotifyChangeScene) Reset() {
*x = SCNotifyChangeScene{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCNotifyChangeScene) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCNotifyChangeScene) ProtoMessage() {}
func (x *SCNotifyChangeScene) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[41]
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 SCNotifyChangeScene.ProtoReflect.Descriptor instead.
func (*SCNotifyChangeScene) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{41}
}
func (x *SCNotifyChangeScene) GetSceneId() int32 {
if x != nil {
return x.SceneId
}
return 0
}
//技能相关消息
//房间技能list
//FISHING_CS_SKILLLISTREQ
type CSSkillListReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CSSkillListReq) Reset() {
*x = CSSkillListReq{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSSkillListReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSSkillListReq) ProtoMessage() {}
func (x *CSSkillListReq) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[42]
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 CSSkillListReq.ProtoReflect.Descriptor instead.
func (*CSSkillListReq) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{42}
}
//FISHING_SC_SKILLLISTRESP
type SCSkillListResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Items []*SkillInfo `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
}
func (x *SCSkillListResp) Reset() {
*x = SCSkillListResp{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCSkillListResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCSkillListResp) ProtoMessage() {}
func (x *SCSkillListResp) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[43]
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 SCSkillListResp.ProtoReflect.Descriptor instead.
func (*SCSkillListResp) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{43}
}
func (x *SCSkillListResp) GetItems() []*SkillInfo {
if x != nil {
return x.Items
}
return nil
}
type SkillInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"`
Vip int32 `protobuf:"varint,3,opt,name=Vip,proto3" json:"Vip,omitempty"`
Consume int32 `protobuf:"varint,4,opt,name=Consume,proto3" json:"Consume,omitempty"`
Item string `protobuf:"bytes,5,opt,name=Item,proto3" json:"Item,omitempty"`
OtherConsumer string `protobuf:"bytes,6,opt,name=OtherConsumer,proto3" json:"OtherConsumer,omitempty"`
Duration int32 `protobuf:"varint,7,opt,name=Duration,proto3" json:"Duration,omitempty"`
SkillGroup int32 `protobuf:"varint,8,opt,name=SkillGroup,proto3" json:"SkillGroup,omitempty"`
Gcd int32 `protobuf:"varint,9,opt,name=Gcd,proto3" json:"Gcd,omitempty"`
Cd int32 `protobuf:"varint,10,opt,name=Cd,proto3" json:"Cd,omitempty"`
HiddenPoses string `protobuf:"bytes,11,opt,name=HiddenPoses,proto3" json:"HiddenPoses,omitempty"`
Describe string `protobuf:"bytes,12,opt,name=Describe,proto3" json:"Describe,omitempty"`
OpenCanon int32 `protobuf:"varint,13,opt,name=OpenCanon,proto3" json:"OpenCanon,omitempty"`
SkillType int32 `protobuf:"varint,14,opt,name=SkillType,proto3" json:"SkillType,omitempty"`
Fury int32 `protobuf:"varint,15,opt,name=Fury,proto3" json:"Fury,omitempty"`
Limit int32 `protobuf:"varint,16,opt,name=Limit,proto3" json:"Limit,omitempty"`
}
func (x *SkillInfo) Reset() {
*x = SkillInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SkillInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SkillInfo) ProtoMessage() {}
func (x *SkillInfo) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[44]
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 SkillInfo.ProtoReflect.Descriptor instead.
func (*SkillInfo) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{44}
}
func (x *SkillInfo) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *SkillInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SkillInfo) GetVip() int32 {
if x != nil {
return x.Vip
}
return 0
}
func (x *SkillInfo) GetConsume() int32 {
if x != nil {
return x.Consume
}
return 0
}
func (x *SkillInfo) GetItem() string {
if x != nil {
return x.Item
}
return ""
}
func (x *SkillInfo) GetOtherConsumer() string {
if x != nil {
return x.OtherConsumer
}
return ""
}
func (x *SkillInfo) GetDuration() int32 {
if x != nil {
return x.Duration
}
return 0
}
func (x *SkillInfo) GetSkillGroup() int32 {
if x != nil {
return x.SkillGroup
}
return 0
}
func (x *SkillInfo) GetGcd() int32 {
if x != nil {
return x.Gcd
}
return 0
}
func (x *SkillInfo) GetCd() int32 {
if x != nil {
return x.Cd
}
return 0
}
func (x *SkillInfo) GetHiddenPoses() string {
if x != nil {
return x.HiddenPoses
}
return ""
}
func (x *SkillInfo) GetDescribe() string {
if x != nil {
return x.Describe
}
return ""
}
func (x *SkillInfo) GetOpenCanon() int32 {
if x != nil {
return x.OpenCanon
}
return 0
}
func (x *SkillInfo) GetSkillType() int32 {
if x != nil {
return x.SkillType
}
return 0
}
func (x *SkillInfo) GetFury() int32 {
if x != nil {
return x.Fury
}
return 0
}
func (x *SkillInfo) GetLimit() int32 {
if x != nil {
return x.Limit
}
return 0
}
//使用技能
//FISHING_CS_SKILLUSEREQ
type CSFishSkillUseReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SkillId int32 `protobuf:"varint,1,opt,name=SkillId,proto3" json:"SkillId,omitempty"` //技能id
}
func (x *CSFishSkillUseReq) Reset() {
*x = CSFishSkillUseReq{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSFishSkillUseReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSFishSkillUseReq) ProtoMessage() {}
func (x *CSFishSkillUseReq) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[45]
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 CSFishSkillUseReq.ProtoReflect.Descriptor instead.
func (*CSFishSkillUseReq) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{45}
}
func (x *CSFishSkillUseReq) GetSkillId() int32 {
if x != nil {
return x.SkillId
}
return 0
}
//使用技能返回消息
//FISHING_SC_SKILLUSERESP
type SCFishSkillUseResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Result int32 `protobuf:"varint,1,opt,name=Result,proto3" json:"Result,omitempty"` //0表示使用技能成功
Status SCFishSkillUseResp_SkillStatusEnum `protobuf:"varint,2,opt,name=Status,proto3,enum=fishing.SCFishSkillUseResp_SkillStatusEnum" json:"Status,omitempty"` //此技能当前状态
SkillId int32 `protobuf:"varint,4,opt,name=SkillId,proto3" json:"SkillId,omitempty"` //技能id
}
func (x *SCFishSkillUseResp) Reset() {
*x = SCFishSkillUseResp{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCFishSkillUseResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCFishSkillUseResp) ProtoMessage() {}
func (x *SCFishSkillUseResp) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[46]
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 SCFishSkillUseResp.ProtoReflect.Descriptor instead.
func (*SCFishSkillUseResp) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{46}
}
func (x *SCFishSkillUseResp) GetResult() int32 {
if x != nil {
return x.Result
}
return 0
}
func (x *SCFishSkillUseResp) GetStatus() SCFishSkillUseResp_SkillStatusEnum {
if x != nil {
return x.Status
}
return SCFishSkillUseResp_FUTILITY
}
func (x *SCFishSkillUseResp) GetSkillId() int32 {
if x != nil {
return x.SkillId
}
return 0
}
type SCFishSkillUseEnd struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SkillId int32 `protobuf:"varint,1,opt,name=SkillId,proto3" json:"SkillId,omitempty"` //技能id
SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` //用户uid
}
func (x *SCFishSkillUseEnd) Reset() {
*x = SCFishSkillUseEnd{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCFishSkillUseEnd) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCFishSkillUseEnd) ProtoMessage() {}
func (x *SCFishSkillUseEnd) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[47]
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 SCFishSkillUseEnd.ProtoReflect.Descriptor instead.
func (*SCFishSkillUseEnd) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{47}
}
func (x *SCFishSkillUseEnd) GetSkillId() int32 {
if x != nil {
return x.SkillId
}
return 0
}
func (x *SCFishSkillUseEnd) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
//广播消息
//FISHING_SC_SKILLUSEBEGIN
type SCFishSkillUseBegin struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SkillId int32 `protobuf:"varint,1,opt,name=SkillId,proto3" json:"SkillId,omitempty"` //技能id
SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` //用户uid
FishID int32 `protobuf:"varint,3,opt,name=FishID,proto3" json:"FishID,omitempty"` //鱼编号
FishType int32 `protobuf:"varint,4,opt,name=FishType,proto3" json:"FishType,omitempty"` //如果这次是使用了召唤令,则推出的鱼的id
Pos int32 `protobuf:"varint,5,opt,name=pos,proto3" json:"pos,omitempty"` //使用技能的这个人的椅子ID
}
func (x *SCFishSkillUseBegin) Reset() {
*x = SCFishSkillUseBegin{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCFishSkillUseBegin) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCFishSkillUseBegin) ProtoMessage() {}
func (x *SCFishSkillUseBegin) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[48]
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 SCFishSkillUseBegin.ProtoReflect.Descriptor instead.
func (*SCFishSkillUseBegin) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{48}
}
func (x *SCFishSkillUseBegin) GetSkillId() int32 {
if x != nil {
return x.SkillId
}
return 0
}
func (x *SCFishSkillUseBegin) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *SCFishSkillUseBegin) GetFishID() int32 {
if x != nil {
return x.FishID
}
return 0
}
func (x *SCFishSkillUseBegin) GetFishType() int32 {
if x != nil {
return x.FishType
}
return 0
}
func (x *SCFishSkillUseBegin) GetPos() int32 {
if x != nil {
return x.Pos
}
return 0
}
//帧同步
//FISHING_CS_SYNCTIMEPOINT
type CSSyncTimePoint struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CSSyncTimePoint) Reset() {
*x = CSSyncTimePoint{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSSyncTimePoint) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSSyncTimePoint) ProtoMessage() {}
func (x *CSSyncTimePoint) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[49]
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 CSSyncTimePoint.ProtoReflect.Descriptor instead.
func (*CSSyncTimePoint) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{49}
}
//FISHING_SC_SYNCTIMEPOINT
type SCSyncTimePoint struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TimePoint int32 `protobuf:"varint,1,opt,name=TimePoint,proto3" json:"TimePoint,omitempty"`
}
func (x *SCSyncTimePoint) Reset() {
*x = SCSyncTimePoint{}
if protoimpl.UnsafeEnabled {
mi := &file_fishing_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCSyncTimePoint) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCSyncTimePoint) ProtoMessage() {}
func (x *SCSyncTimePoint) ProtoReflect() protoreflect.Message {
mi := &file_fishing_proto_msgTypes[50]
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 SCSyncTimePoint.ProtoReflect.Descriptor instead.
func (*SCSyncTimePoint) Descriptor() ([]byte, []int) {
return file_fishing_proto_rawDescGZIP(), []int{50}
}
func (x *SCSyncTimePoint) GetTimePoint() int32 {
if x != nil {
return x.TimePoint
}
return 0
}
var File_fishing_proto protoreflect.FileDescriptor
var file_fishing_proto_rawDesc = []byte{
0x0a, 0x0d, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x07, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x22, 0x95, 0x05, 0x0a, 0x11, 0x46, 0x69, 0x73,
0x68, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12,
0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61,
0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x18, 0x03,
0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65,
0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x53, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04,
0x43, 0x6f, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e,
0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50,
0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05,
0x52, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x12,
0x0a, 0x04, 0x43, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x69,
0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x75, 0x74, 0x4c, 0x69, 0x6e,
0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x75, 0x74,
0x4c, 0x69, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x49, 0x50, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x05, 0x52, 0x03, 0x56, 0x49, 0x50, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x65, 0x6c, 0x56, 0x69, 0x70,
0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x65, 0x6c, 0x56, 0x69, 0x70, 0x12, 0x14,
0x0a, 0x05, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50,
0x6f, 0x77, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x18,
0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x49, 0x73, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x12, 0x1e,
0x0a, 0x0a, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0f, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0a, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1c,
0x0a, 0x09, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b,
0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0b, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x1a,
0x0a, 0x08, 0x46, 0x69, 0x72, 0x65, 0x52, 0x61, 0x74, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05,
0x52, 0x08, 0x46, 0x69, 0x72, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x72,
0x61, 0x6e, 0x61, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0c, 0x50, 0x72, 0x61, 0x6e, 0x61, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x16,
0x0a, 0x06, 0x4e, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
0x4e, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x53,
0x6e, 0x49, 0x64, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x6f, 0x62, 0x6f,
0x74, 0x53, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x6e, 0x4d, 0x61, 0x78, 0x50,
0x6f, 0x77, 0x65, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x55, 0x6e, 0x4d, 0x61,
0x78, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x55, 0x6e, 0x50, 0x6f, 0x77, 0x65,
0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x17, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x55, 0x6e, 0x50,
0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x46, 0x69, 0x73, 0x68,
0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x18, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x46, 0x69, 0x73,
0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x46, 0x69, 0x73, 0x68, 0x45, 0x78,
0x70, 0x18, 0x19, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x46, 0x69, 0x73, 0x68, 0x45, 0x78, 0x70,
0x22, 0x85, 0x05, 0x0a, 0x11, 0x53, 0x43, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x6f,
0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x18,
0x0a, 0x07, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x07, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65,
0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64,
0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x05, 0x52, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61,
0x72, 0x61, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x4e, 0x75, 0x6d, 0x4f, 0x66, 0x47, 0x61, 0x6d,
0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4e, 0x75, 0x6d, 0x4f, 0x66, 0x47,
0x61, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x07, 0x20,
0x03, 0x28, 0x05, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74,
0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65,
0x12, 0x18, 0x0a, 0x07, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x75, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28,
0x05, 0x52, 0x07, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x75, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69,
0x73, 0x62, 0x61, 0x6e, 0x64, 0x47, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
0x44, 0x69, 0x73, 0x62, 0x61, 0x6e, 0x64, 0x47, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x67,
0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x41, 0x67, 0x65,
0x6e, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x61, 0x72,
0x61, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54,
0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x63, 0x65, 0x6e, 0x65,
0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18,
0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e,
0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74,
0x61, 0x52, 0x07, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61,
0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x46, 0x72,
0x6f, 0x7a, 0x65, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x4a, 0x61,
0x63, 0x6b, 0x70, 0x6f, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0b, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08,
0x4d, 0x69, 0x6e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
0x4d, 0x69, 0x6e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x78, 0x50,
0x6f, 0x77, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4d, 0x61, 0x78, 0x50,
0x6f, 0x77, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x73,
0x74, 0x18, 0x14, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69,
0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x63, 0x65, 0x6e,
0x65, 0x49, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x67,
0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x0b, 0x43, 0x53, 0x46, 0x69,
0x73, 0x68, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12,
0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52,
0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x0b, 0x53, 0x43, 0x46, 0x69,
0x73, 0x68, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12,
0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52,
0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74,
0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x66, 0x69, 0x73,
0x68, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64,
0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04,
0x53, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64,
0x22, 0xcc, 0x01, 0x0a, 0x06, 0x53, 0x43, 0x46, 0x69, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53,
0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12,
0x0c, 0x0a, 0x01, 0x58, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x58, 0x12, 0x0c, 0x0a,
0x01, 0x59, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x59, 0x12, 0x1a, 0x0a, 0x08, 0x42,
0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x42,
0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x6f, 0x77, 0x65, 0x72,
0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x2c, 0x0a,
0x11, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f,
0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e,
0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x46,
0x69, 0x73, 0x68, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x46, 0x69, 0x73,
0x68, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x18,
0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x22,
0xb3, 0x02, 0x0a, 0x09, 0x53, 0x43, 0x46, 0x69, 0x72, 0x65, 0x48, 0x69, 0x74, 0x12, 0x12, 0x0a,
0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69,
0x64, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x69, 0x73, 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28,
0x05, 0x52, 0x06, 0x46, 0x69, 0x73, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69,
0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x12, 0x0a,
0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x49, 0x74, 0x65,
0x6d, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x06, 0x20,
0x01, 0x28, 0x03, 0x52, 0x02, 0x54, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74,
0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a,
0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05,
0x52, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x43,
0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x69, 0x6e,
0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x76, 0x65,
0x6e, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x45, 0x76,
0x65, 0x6e, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x6f, 0x77, 0x65, 0x72,
0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x16, 0x0a,
0x06, 0x41, 0x64, 0x64, 0x45, 0x78, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41,
0x64, 0x64, 0x45, 0x78, 0x70, 0x22, 0x70, 0x0a, 0x14, 0x53, 0x43, 0x54, 0x72, 0x65, 0x61, 0x73,
0x75, 0x72, 0x65, 0x43, 0x68, 0x65, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a,
0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69,
0x64, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28,
0x05, 0x52, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x43, 0x75, 0x72,
0x72, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03,
0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61,
0x79, 0x65, 0x72, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0x38, 0x0a, 0x0a, 0x53, 0x43, 0x46, 0x69, 0x72,
0x65, 0x4d, 0x69, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x69, 0x73, 0x68, 0x49, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x46, 0x69, 0x73, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a,
0x04, 0x52, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x74,
0x65, 0x22, 0x77, 0x0a, 0x0b, 0x53, 0x43, 0x46, 0x69, 0x72, 0x65, 0x50, 0x6f, 0x77, 0x65, 0x72,
0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
0x53, 0x6e, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x02, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x6f,
0x62, 0x69, 0x74, 0x46, 0x69, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x52,
0x6f, 0x62, 0x69, 0x74, 0x46, 0x69, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x61, 0x72, 0x67,
0x65, 0x74, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x54,
0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x22, 0x30, 0x0a, 0x08, 0x53, 0x43,
0x53, 0x65, 0x6c, 0x56, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x69,
0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x56, 0x69, 0x70, 0x22, 0x5e, 0x0a, 0x12,
0x53, 0x43, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x74, 0x61,
0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x75, 0x62, 0x53,
0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x75, 0x62, 0x53,
0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03,
0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x40, 0x0a, 0x0e,
0x53, 0x43, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x61, 0x74, 0x73, 0x12, 0x2e,
0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x66,
0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x6c,
0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x40,
0x0a, 0x0e, 0x53, 0x43, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x65, 0x72,
0x12, 0x2e, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67,
0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61,
0x22, 0x24, 0x0a, 0x0e, 0x53, 0x43, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x61,
0x76, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x22, 0x6d, 0x0a, 0x11, 0x53, 0x43, 0x53, 0x79, 0x6e, 0x63,
0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x46, 0x69, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x50,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x50,
0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65,
0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53,
0x65, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x61, 0x6e, 0x64, 0x6f,
0x6d, 0x53, 0x65, 0x65, 0x64, 0x22, 0x47, 0x0a, 0x13, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x66,
0x72, 0x65, 0x73, 0x68, 0x46, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a,
0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0a, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03,
0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0xa0,
0x01, 0x0a, 0x14, 0x53, 0x43, 0x4e, 0x65, 0x77, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x66, 0x72,
0x65, 0x73, 0x68, 0x46, 0x69, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x79, 0x6e, 0x63,
0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x46, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x49,
0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x49,
0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x65, 0x65, 0x64, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x65, 0x65,
0x64, 0x22, 0xd0, 0x01, 0x0a, 0x08, 0x46, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16,
0x0a, 0x06, 0x46, 0x69, 0x73, 0x68, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
0x46, 0x69, 0x73, 0x68, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x69, 0x73, 0x68, 0x54, 0x79,
0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x46, 0x69, 0x73, 0x68, 0x54, 0x79,
0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x69, 0x73, 0x68, 0x50, 0x61, 0x74, 0x68, 0x18, 0x03,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x46, 0x69, 0x73, 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1c,
0x0a, 0x09, 0x46, 0x69, 0x73, 0x68, 0x53, 0x70, 0x65, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x46, 0x69, 0x73, 0x68, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09,
0x46, 0x69, 0x73, 0x68, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52,
0x09, 0x46, 0x69, 0x73, 0x68, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x69,
0x72, 0x74, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x42,
0x69, 0x72, 0x74, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x69, 0x76, 0x65,
0x54, 0x69, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4c, 0x69, 0x76, 0x65,
0x54, 0x69, 0x63, 0x6b, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x53, 0x4c, 0x6f, 0x61, 0x64, 0x43, 0x6f,
0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x22, 0x6e, 0x0a, 0x0d, 0x53, 0x43, 0x46, 0x69, 0x73, 0x68,
0x65, 0x73, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x06, 0x46, 0x69, 0x73, 0x68, 0x65,
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e,
0x67, 0x2e, 0x46, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x46, 0x69, 0x73, 0x68,
0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x63, 0x65, 0x53, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x49, 0x63, 0x65, 0x53, 0x65, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x69,
0x6d, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x54, 0x69,
0x6d, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x68, 0x0a, 0x0a, 0x43, 0x53, 0x46, 0x69, 0x73, 0x68,
0x56, 0x69, 0x65, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x69, 0x73, 0x68, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x05, 0x52, 0x05, 0x46, 0x69, 0x73, 0x68, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x69,
0x67, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1c,
0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04,
0x53, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64,
0x22, 0x4e, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53,
0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x10,
0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d,
0x22, 0x49, 0x0a, 0x0c, 0x53, 0x43, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65,
0x12, 0x39, 0x0a, 0x0a, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x50,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52,
0x0a, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x79, 0x0a, 0x09, 0x53,
0x43, 0x46, 0x69, 0x73, 0x68, 0x44, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x69, 0x73, 0x68,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x46, 0x69, 0x73, 0x68, 0x49, 0x64,
0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
0x43, 0x6f, 0x69, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
0x11, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f,
0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x22, 0x29, 0x0a, 0x0d, 0x53, 0x43, 0x4a, 0x61, 0x63, 0x6b,
0x70, 0x6f, 0x74, 0x46, 0x69, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x46, 0x69, 0x73, 0x68, 0x49,
0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x46, 0x69, 0x73, 0x68, 0x49, 0x64,
0x73, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x53, 0x4c, 0x6f, 0x6f, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x46,
0x69, 0x73, 0x68, 0x22, 0x46, 0x0a, 0x0e, 0x53, 0x43, 0x4c, 0x6f, 0x6f, 0x6b, 0x4c, 0x6f, 0x63,
0x6b, 0x46, 0x69, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x69, 0x73, 0x68, 0x49, 0x64, 0x18,
0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x46, 0x69, 0x73, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a,
0x09, 0x46, 0x69, 0x73, 0x68, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05,
0x52, 0x09, 0x46, 0x69, 0x73, 0x68, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x22, 0x40, 0x0a, 0x10, 0x53,
0x43, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x61, 0x64, 0x79, 0x50, 0x72, 0x61, 0x6e, 0x61, 0x12,
0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53,
0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x3e, 0x0a,
0x0c, 0x43, 0x53, 0x52, 0x65, 0x61, 0x64, 0x79, 0x50, 0x72, 0x61, 0x6e, 0x61, 0x12, 0x12, 0x0a,
0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49,
0x64, 0x12, 0x0c, 0x0a, 0x01, 0x58, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x58, 0x12,
0x0c, 0x0a, 0x01, 0x59, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x59, 0x22, 0x73, 0x0a,
0x0c, 0x53, 0x43, 0x52, 0x65, 0x61, 0x64, 0x79, 0x50, 0x72, 0x61, 0x6e, 0x61, 0x12, 0x12, 0x0a,
0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49,
0x64, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x4f,
0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52,
0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x58, 0x18, 0x03, 0x20, 0x01, 0x28,
0x05, 0x52, 0x01, 0x58, 0x12, 0x0c, 0x0a, 0x01, 0x59, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
0x01, 0x59, 0x22, 0x57, 0x0a, 0x0b, 0x43, 0x53, 0x46, 0x69, 0x72, 0x65, 0x50, 0x72, 0x61, 0x6e,
0x61, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x46, 0x69, 0x73, 0x68, 0x49, 0x64, 0x73,
0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x46, 0x69, 0x73, 0x68, 0x49, 0x64, 0x73, 0x12,
0x0c, 0x0a, 0x01, 0x58, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x58, 0x12, 0x0c, 0x0a,
0x01, 0x59, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x59, 0x22, 0x72, 0x0a, 0x0b, 0x53,
0x43, 0x46, 0x69, 0x72, 0x65, 0x50, 0x72, 0x61, 0x6e, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x33,
0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x15, 0x2e, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x52, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43,
0x6f, 0x64, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x58, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01,
0x58, 0x12, 0x0c, 0x0a, 0x01, 0x59, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x59, 0x22,
0x6f, 0x0a, 0x0d, 0x53, 0x43, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x43, 0x6f, 0x69, 0x6e,
0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
0x53, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x4a, 0x61, 0x63, 0x6b,
0x70, 0x6f, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c,
0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04,
0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65,
0x22, 0x23, 0x0a, 0x0d, 0x53, 0x43, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x50, 0x6f, 0x6f,
0x6c, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x04, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0x38, 0x0a, 0x0e, 0x53, 0x43, 0x52, 0x65, 0x74, 0x50, 0x72,
0x61, 0x6e, 0x61, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43,
0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x22,
0x49, 0x0a, 0x0d, 0x53, 0x43, 0x52, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74,
0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6e, 0x69, 0x64,
0x12, 0x18, 0x0a, 0x07, 0x52, 0x6f, 0x62, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x07, 0x52, 0x6f, 0x62, 0x53, 0x6e, 0x69, 0x64, 0x22, 0x3f, 0x0a, 0x0f, 0x53, 0x43,
0x52, 0x6f, 0x62, 0x6f, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x12, 0x0a,
0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, 0x64,
0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x07, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x0e, 0x53,
0x43, 0x53, 0x79, 0x6e, 0x63, 0x46, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x16, 0x0a,
0x06, 0x46, 0x69, 0x73, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x46,
0x69, 0x73, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20,
0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0x3e, 0x0a, 0x0a, 0x46, 0x69, 0x73,
0x68, 0x48, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x69, 0x73, 0x68, 0x49,
0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x46, 0x69, 0x73, 0x68, 0x49, 0x44, 0x12,
0x18, 0x0a, 0x07, 0x48, 0x70, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x07, 0x48, 0x70, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x22, 0x3b, 0x0a, 0x0c, 0x53, 0x43, 0x53,
0x79, 0x6e, 0x63, 0x46, 0x69, 0x73, 0x68, 0x48, 0x70, 0x12, 0x2b, 0x0a, 0x06, 0x48, 0x70, 0x49,
0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x69, 0x73, 0x68,
0x69, 0x6e, 0x67, 0x2e, 0x46, 0x69, 0x73, 0x68, 0x48, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06,
0x48, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x5f, 0x0a, 0x12, 0x53, 0x43, 0x4e, 0x6f, 0x74, 0x69,
0x66, 0x79, 0x41, 0x70, 0x70, 0x65, 0x61, 0x72, 0x46, 0x69, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0b,
0x4f, 0x75, 0x74, 0x46, 0x69, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0b, 0x4f, 0x75, 0x74, 0x46, 0x69, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27,
0x0a, 0x05, 0x46, 0x69, 0x73, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e,
0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x46, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x05, 0x46, 0x69, 0x73, 0x68, 0x73, 0x22, 0x2f, 0x0a, 0x13, 0x53, 0x43, 0x4e, 0x6f, 0x74,
0x69, 0x66, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x12, 0x18,
0x0a, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x53, 0x53, 0x6b,
0x69, 0x6c, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x3b, 0x0a, 0x0f, 0x53, 0x43,
0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x28, 0x0a,
0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x66,
0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x97, 0x03, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c,
0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x69, 0x70,
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x56, 0x69, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x43,
0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f,
0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x74, 0x68,
0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0d, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x12,
0x1a, 0x0a, 0x08, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28,
0x05, 0x52, 0x08, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x53,
0x6b, 0x69, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x47,
0x63, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x47, 0x63, 0x64, 0x12, 0x0e, 0x0a,
0x02, 0x43, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x43, 0x64, 0x12, 0x20, 0x0a,
0x0b, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x50, 0x6f, 0x73, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x50, 0x6f, 0x73, 0x65, 0x73, 0x12,
0x1a, 0x0a, 0x08, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4f,
0x70, 0x65, 0x6e, 0x43, 0x61, 0x6e, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
0x4f, 0x70, 0x65, 0x6e, 0x43, 0x61, 0x6e, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x6b, 0x69,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x6b,
0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x75, 0x72, 0x79, 0x18,
0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x75, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x4c,
0x69, 0x6d, 0x69, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69,
0x74, 0x22, 0x2d, 0x0a, 0x11, 0x43, 0x53, 0x46, 0x69, 0x73, 0x68, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
0x55, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64,
0x22, 0xb5, 0x02, 0x0a, 0x12, 0x53, 0x43, 0x46, 0x69, 0x73, 0x68, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
0x55, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
0x43, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x2b, 0x2e, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x43, 0x46, 0x69, 0x73, 0x68,
0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x6b, 0x69,
0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x06, 0x53, 0x74,
0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x22, 0xa7,
0x01, 0x0a, 0x0f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e,
0x75, 0x6d, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x55, 0x54, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x00,
0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x4f, 0x4d, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x4c, 0x4c, 0x4f,
0x57, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x56, 0x49, 0x50, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54,
0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x4f, 0x4f, 0x4c, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54,
0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x4e, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x10, 0x04,
0x12, 0x06, 0x0a, 0x02, 0x43, 0x44, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x53, 0x41, 0x42,
0x4c, 0x45, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53,
0x54, 0x53, 0x10, 0x07, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x4f, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x5f,
0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x57, 0x4f, 0x52, 0x4c,
0x44, 0x5f, 0x42, 0x4f, 0x53, 0x53, 0x10, 0x09, 0x22, 0x41, 0x0a, 0x11, 0x53, 0x43, 0x46, 0x69,
0x73, 0x68, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x45, 0x6e, 0x64, 0x12, 0x18, 0x0a,
0x07, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x22, 0x89, 0x01, 0x0a, 0x13,
0x53, 0x43, 0x46, 0x69, 0x73, 0x68, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x42, 0x65,
0x67, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a,
0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49,
0x64, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x69, 0x73, 0x68, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28,
0x05, 0x52, 0x06, 0x46, 0x69, 0x73, 0x68, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x69, 0x73,
0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x46, 0x69, 0x73,
0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x01,
0x28, 0x05, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x22, 0x11, 0x0a, 0x0f, 0x43, 0x53, 0x53, 0x79, 0x6e,
0x63, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x2f, 0x0a, 0x0f, 0x53, 0x43,
0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1c, 0x0a,
0x09, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x2a, 0x48, 0x0a, 0x0c, 0x4f,
0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f,
0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a,
0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x12,
0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75,
0x67, 0x68, 0x10, 0xa0, 0x08, 0x2a, 0xfc, 0x0a, 0x0a, 0x0a, 0x46, 0x49, 0x50, 0x61, 0x63, 0x6b,
0x65, 0x74, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f,
0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x13, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e,
0x47, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x88, 0x27,
0x12, 0x12, 0x0a, 0x0d, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x53, 0x5f, 0x4f,
0x50, 0x10, 0x89, 0x27, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f,
0x53, 0x43, 0x5f, 0x4f, 0x50, 0x10, 0x8a, 0x27, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x49, 0x53, 0x48,
0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x53, 0x54, 0x41, 0x54, 0x45,
0x10, 0x8b, 0x27, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53,
0x43, 0x5f, 0x53, 0x45, 0x41, 0x54, 0x53, 0x10, 0x8c, 0x27, 0x12, 0x18, 0x0a, 0x13, 0x46, 0x49,
0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x46, 0x49, 0x53,
0x48, 0x10, 0x8e, 0x27, 0x12, 0x1b, 0x0a, 0x16, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f,
0x53, 0x43, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x45, 0x52, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x8f,
0x27, 0x12, 0x1c, 0x0a, 0x17, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x53, 0x5f,
0x4c, 0x4f, 0x41, 0x44, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x90, 0x27, 0x12,
0x14, 0x0a, 0x0f, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x46, 0x49,
0x52, 0x45, 0x10, 0x91, 0x27, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47,
0x5f, 0x53, 0x43, 0x5f, 0x46, 0x49, 0x52, 0x45, 0x48, 0x49, 0x54, 0x10, 0x92, 0x27, 0x12, 0x19,
0x0a, 0x14, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x46, 0x49, 0x52,
0x45, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x10, 0x93, 0x27, 0x12, 0x16, 0x0a, 0x11, 0x46, 0x49, 0x53,
0x48, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x53, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x5a, 0x45, 0x10, 0x94,
0x27, 0x12, 0x16, 0x0a, 0x11, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f,
0x46, 0x52, 0x45, 0x45, 0x5a, 0x45, 0x10, 0x95, 0x27, 0x12, 0x18, 0x0a, 0x13, 0x46, 0x49, 0x53,
0x48, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x53, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x56, 0x49, 0x45, 0x57,
0x10, 0x96, 0x27, 0x12, 0x18, 0x0a, 0x13, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53,
0x43, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x56, 0x49, 0x45, 0x57, 0x10, 0x97, 0x27, 0x12, 0x1a, 0x0a,
0x15, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x53, 0x5f, 0x46, 0x49, 0x53, 0x48,
0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x10, 0x98, 0x27, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x49, 0x53,
0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x54, 0x41, 0x52, 0x47,
0x45, 0x54, 0x10, 0x99, 0x27, 0x12, 0x16, 0x0a, 0x11, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47,
0x5f, 0x53, 0x43, 0x5f, 0x53, 0x45, 0x4c, 0x56, 0x49, 0x50, 0x10, 0x9a, 0x27, 0x12, 0x15, 0x0a,
0x10, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x45, 0x4e, 0x54, 0x45,
0x52, 0x10, 0x9b, 0x27, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f,
0x53, 0x43, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x10, 0x9c, 0x27, 0x12, 0x17, 0x0a, 0x12, 0x46,
0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x44, 0x45,
0x4c, 0x10, 0x9e, 0x27, 0x12, 0x1e, 0x0a, 0x19, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f,
0x53, 0x43, 0x5f, 0x4a, 0x41, 0x43, 0x4b, 0x50, 0x4f, 0x54, 0x46, 0x49, 0x53, 0x48, 0x44, 0x45,
0x4c, 0x10, 0x9f, 0x27, 0x12, 0x1c, 0x0a, 0x17, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f,
0x43, 0x53, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x4c, 0x4f, 0x43, 0x4b, 0x46, 0x49, 0x53, 0x48, 0x10,
0xa0, 0x27, 0x12, 0x1c, 0x0a, 0x17, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43,
0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x4c, 0x4f, 0x43, 0x4b, 0x46, 0x49, 0x53, 0x48, 0x10, 0xa1, 0x27,
0x12, 0x1b, 0x0a, 0x16, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x50,
0x52, 0x41, 0x4e, 0x41, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0xa2, 0x27, 0x12, 0x1a, 0x0a,
0x15, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x53, 0x5f, 0x52, 0x45, 0x41, 0x4c,
0x59, 0x50, 0x52, 0x41, 0x4e, 0x41, 0x10, 0xa3, 0x27, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x49, 0x53,
0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x45, 0x41, 0x4c, 0x59, 0x50, 0x52, 0x41,
0x4e, 0x41, 0x10, 0xa4, 0x27, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47,
0x5f, 0x43, 0x53, 0x5f, 0x46, 0x49, 0x52, 0x45, 0x50, 0x52, 0x41, 0x4e, 0x41, 0x10, 0xa5, 0x27,
0x12, 0x19, 0x0a, 0x14, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x46,
0x49, 0x52, 0x45, 0x50, 0x52, 0x41, 0x4e, 0x41, 0x10, 0xa6, 0x27, 0x12, 0x21, 0x0a, 0x1c, 0x46,
0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x4a, 0x41, 0x43, 0x4b, 0x50, 0x4f,
0x54, 0x50, 0x4f, 0x4f, 0x4c, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0xa7, 0x27, 0x12, 0x1b,
0x0a, 0x16, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x4a, 0x41, 0x43,
0x4b, 0x50, 0x4f, 0x54, 0x43, 0x4f, 0x49, 0x4e, 0x10, 0xa8, 0x27, 0x12, 0x1c, 0x0a, 0x17, 0x46,
0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x45, 0x54, 0x50, 0x52, 0x41,
0x4e, 0x41, 0x43, 0x4f, 0x49, 0x4e, 0x10, 0xa9, 0x27, 0x12, 0x1b, 0x0a, 0x16, 0x46, 0x49, 0x53,
0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x45, 0x42, 0x49, 0x4e, 0x44, 0x41, 0x47,
0x45, 0x4e, 0x54, 0x10, 0xaa, 0x27, 0x12, 0x18, 0x0a, 0x13, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e,
0x47, 0x5f, 0x53, 0x43, 0x5f, 0x46, 0x49, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x53, 0x10, 0xab, 0x27,
0x12, 0x1f, 0x0a, 0x1a, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x53,
0x43, 0x52, 0x4f, 0x42, 0x4f, 0x54, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x10, 0xac,
0x27, 0x12, 0x1e, 0x0a, 0x19, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f,
0x53, 0x43, 0x53, 0x59, 0x4e, 0x43, 0x46, 0x49, 0x53, 0x48, 0x43, 0x4f, 0x49, 0x4e, 0x10, 0xad,
0x27, 0x12, 0x1b, 0x0a, 0x16, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f,
0x4e, 0x45, 0x57, 0x53, 0x59, 0x4e, 0x43, 0x46, 0x49, 0x53, 0x48, 0x10, 0xae, 0x27, 0x12, 0x22,
0x0a, 0x1d, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x52, 0x45,
0x41, 0x53, 0x55, 0x52, 0x45, 0x43, 0x48, 0x45, 0x53, 0x54, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10,
0xaf, 0x27, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43,
0x5f, 0x53, 0x59, 0x4e, 0x43, 0x46, 0x49, 0x53, 0x48, 0x48, 0x50, 0x10, 0xb0, 0x27, 0x12, 0x1a,
0x0a, 0x15, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4f, 0x57,
0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0xb1, 0x27, 0x12, 0x20, 0x0a, 0x1b, 0x46, 0x49,
0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x41,
0x50, 0x50, 0x45, 0x41, 0x52, 0x46, 0x49, 0x53, 0x48, 0x10, 0xb2, 0x27, 0x12, 0x21, 0x0a, 0x1c,
0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46,
0x59, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x10, 0xb3, 0x27, 0x12,
0x1c, 0x0a, 0x17, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x4b,
0x49, 0x4c, 0x4c, 0x4c, 0x49, 0x53, 0x54, 0x52, 0x45, 0x51, 0x10, 0xb4, 0x27, 0x12, 0x1d, 0x0a,
0x18, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x4b, 0x49, 0x4c,
0x4c, 0x4c, 0x49, 0x53, 0x54, 0x52, 0x45, 0x53, 0x50, 0x10, 0xb5, 0x27, 0x12, 0x1b, 0x0a, 0x16,
0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x4b, 0x49, 0x4c, 0x4c,
0x55, 0x53, 0x45, 0x52, 0x45, 0x51, 0x10, 0xb6, 0x27, 0x12, 0x1c, 0x0a, 0x17, 0x46, 0x49, 0x53,
0x48, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x4b, 0x49, 0x4c, 0x4c, 0x55, 0x53, 0x45,
0x52, 0x45, 0x53, 0x50, 0x10, 0xb7, 0x27, 0x12, 0x1d, 0x0a, 0x18, 0x46, 0x49, 0x53, 0x48, 0x49,
0x4e, 0x47, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x4b, 0x49, 0x4c, 0x4c, 0x55, 0x53, 0x45, 0x42, 0x45,
0x47, 0x49, 0x4e, 0x10, 0xb8, 0x27, 0x12, 0x1d, 0x0a, 0x18, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e,
0x47, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x54, 0x49, 0x4d, 0x45, 0x50, 0x4f, 0x49,
0x4e, 0x54, 0x10, 0xb9, 0x27, 0x12, 0x1d, 0x0a, 0x18, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47,
0x5f, 0x53, 0x43, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x54, 0x49, 0x4d, 0x45, 0x50, 0x4f, 0x49, 0x4e,
0x54, 0x10, 0xba, 0x27, 0x42, 0x0b, 0x5a, 0x09, 0x2e, 0x3b, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e,
0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_fishing_proto_rawDescOnce sync.Once
file_fishing_proto_rawDescData = file_fishing_proto_rawDesc
)
func file_fishing_proto_rawDescGZIP() []byte {
file_fishing_proto_rawDescOnce.Do(func() {
file_fishing_proto_rawDescData = protoimpl.X.CompressGZIP(file_fishing_proto_rawDescData)
})
return file_fishing_proto_rawDescData
}
var file_fishing_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_fishing_proto_msgTypes = make([]protoimpl.MessageInfo, 51)
var file_fishing_proto_goTypes = []interface{}{
(OpResultCode)(0), // 0: fishing.OpResultCode
(FIPacketID)(0), // 1: fishing.FIPacketID
(SCFishSkillUseResp_SkillStatusEnum)(0), // 2: fishing.SCFishSkillUseResp.SkillStatusEnum
(*FishingPlayerData)(nil), // 3: fishing.FishingPlayerData
(*SCFishingRoomInfo)(nil), // 4: fishing.SCFishingRoomInfo
(*CSFishingOp)(nil), // 5: fishing.CSFishingOp
(*SCFishingOp)(nil), // 6: fishing.SCFishingOp
(*SCFire)(nil), // 7: fishing.SCFire
(*SCFireHit)(nil), // 8: fishing.SCFireHit
(*SCTreasureChestEvent)(nil), // 9: fishing.SCTreasureChestEvent
(*SCFireMiss)(nil), // 10: fishing.SCFireMiss
(*SCFirePower)(nil), // 11: fishing.SCFirePower
(*SCSelVip)(nil), // 12: fishing.SCSelVip
(*SCFishingRoomState)(nil), // 13: fishing.SCFishingRoomState
(*SCFishingSeats)(nil), // 14: fishing.SCFishingSeats
(*SCfishingEnter)(nil), // 15: fishing.SCfishingEnter
(*SCfishingLeave)(nil), // 16: fishing.SCfishingLeave
(*SCSyncRefreshFish)(nil), // 17: fishing.SCSyncRefreshFish
(*SyncRefreshFishInfo)(nil), // 18: fishing.SyncRefreshFishInfo
(*SCNewSyncRefreshFish)(nil), // 19: fishing.SCNewSyncRefreshFish
(*FishInfo)(nil), // 20: fishing.FishInfo
(*CSLoadComplete)(nil), // 21: fishing.CSLoadComplete
(*SCFishesEnter)(nil), // 22: fishing.SCFishesEnter
(*CSFishView)(nil), // 23: fishing.CSFishView
(*PlayerPowerState)(nil), // 24: fishing.PlayerPowerState
(*SCPowerState)(nil), // 25: fishing.SCPowerState
(*SCFishDel)(nil), // 26: fishing.SCFishDel
(*SCJackpotFish)(nil), // 27: fishing.SCJackpotFish
(*CSLookLockFish)(nil), // 28: fishing.CSLookLockFish
(*SCLookLockFish)(nil), // 29: fishing.SCLookLockFish
(*SCSendReadyPrana)(nil), // 30: fishing.SCSendReadyPrana
(*CSReadyPrana)(nil), // 31: fishing.CSReadyPrana
(*SCReadyPrana)(nil), // 32: fishing.SCReadyPrana
(*CSFirePrana)(nil), // 33: fishing.CSFirePrana
(*SCFirePrana)(nil), // 34: fishing.SCFirePrana
(*SCJackpotCoin)(nil), // 35: fishing.SCJackpotCoin
(*SCJackpotPool)(nil), // 36: fishing.SCJackpotPool
(*SCRetPranaCoin)(nil), // 37: fishing.SCRetPranaCoin
(*SCReBindAgent)(nil), // 38: fishing.SCReBindAgent
(*SCRobotBehavior)(nil), // 39: fishing.SCRobotBehavior
(*SCSyncFishCoin)(nil), // 40: fishing.SCSyncFishCoin
(*FishHpInfo)(nil), // 41: fishing.FishHpInfo
(*SCSyncFishHp)(nil), // 42: fishing.SCSyncFishHp
(*SCNotifyAppearFish)(nil), // 43: fishing.SCNotifyAppearFish
(*SCNotifyChangeScene)(nil), // 44: fishing.SCNotifyChangeScene
(*CSSkillListReq)(nil), // 45: fishing.CSSkillListReq
(*SCSkillListResp)(nil), // 46: fishing.SCSkillListResp
(*SkillInfo)(nil), // 47: fishing.SkillInfo
(*CSFishSkillUseReq)(nil), // 48: fishing.CSFishSkillUseReq
(*SCFishSkillUseResp)(nil), // 49: fishing.SCFishSkillUseResp
(*SCFishSkillUseEnd)(nil), // 50: fishing.SCFishSkillUseEnd
(*SCFishSkillUseBegin)(nil), // 51: fishing.SCFishSkillUseBegin
(*CSSyncTimePoint)(nil), // 52: fishing.CSSyncTimePoint
(*SCSyncTimePoint)(nil), // 53: fishing.SCSyncTimePoint
}
var file_fishing_proto_depIdxs = []int32{
3, // 0: fishing.SCFishingRoomInfo.Players:type_name -> fishing.FishingPlayerData
0, // 1: fishing.SCFishingOp.OpRetCode:type_name -> fishing.OpResultCode
3, // 2: fishing.SCFishingSeats.Data:type_name -> fishing.FishingPlayerData
3, // 3: fishing.SCfishingEnter.Data:type_name -> fishing.FishingPlayerData
18, // 4: fishing.SCNewSyncRefreshFish.info:type_name -> fishing.SyncRefreshFishInfo
20, // 5: fishing.SCFishesEnter.Fishes:type_name -> fishing.FishInfo
24, // 6: fishing.SCPowerState.PowerState:type_name -> fishing.PlayerPowerState
0, // 7: fishing.SCReadyPrana.OpRetCode:type_name -> fishing.OpResultCode
0, // 8: fishing.SCFirePrana.OpRetCode:type_name -> fishing.OpResultCode
41, // 9: fishing.SCSyncFishHp.HpInfo:type_name -> fishing.FishHpInfo
20, // 10: fishing.SCNotifyAppearFish.Fishs:type_name -> fishing.FishInfo
47, // 11: fishing.SCSkillListResp.items:type_name -> fishing.SkillInfo
2, // 12: fishing.SCFishSkillUseResp.Status:type_name -> fishing.SCFishSkillUseResp.SkillStatusEnum
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_fishing_proto_init() }
func file_fishing_proto_init() {
if File_fishing_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_fishing_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FishingPlayerData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCFishingRoomInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSFishingOp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCFishingOp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCFire); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCFireHit); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCTreasureChestEvent); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCFireMiss); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCFirePower); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCSelVip); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCFishingRoomState); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCFishingSeats); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCfishingEnter); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCfishingLeave); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCSyncRefreshFish); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncRefreshFishInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCNewSyncRefreshFish); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FishInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSLoadComplete); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCFishesEnter); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSFishView); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PlayerPowerState); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCPowerState); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCFishDel); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCJackpotFish); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSLookLockFish); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCLookLockFish); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCSendReadyPrana); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSReadyPrana); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCReadyPrana); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSFirePrana); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCFirePrana); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCJackpotCoin); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCJackpotPool); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCRetPranaCoin); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCReBindAgent); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCRobotBehavior); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCSyncFishCoin); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FishHpInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCSyncFishHp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCNotifyAppearFish); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCNotifyChangeScene); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSSkillListReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCSkillListResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SkillInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSFishSkillUseReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCFishSkillUseResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCFishSkillUseEnd); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCFishSkillUseBegin); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSSyncTimePoint); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_fishing_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCSyncTimePoint); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_fishing_proto_rawDesc,
NumEnums: 3,
NumMessages: 51,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_fishing_proto_goTypes,
DependencyIndexes: file_fishing_proto_depIdxs,
EnumInfos: file_fishing_proto_enumTypes,
MessageInfos: file_fishing_proto_msgTypes,
}.Build()
File_fishing_proto = out.File
file_fishing_proto_rawDesc = nil
file_fishing_proto_goTypes = nil
file_fishing_proto_depIdxs = nil
}