// 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 用于在配置表中 查询具体数据 例如 : 7004,7005,7006 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, 0x27, 0x5a, 0x25, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 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 }