diff --git a/modules/plunder/api_challenge.go b/modules/plunder/api_challenge.go new file mode 100644 index 000000000..fc6547bbe --- /dev/null +++ b/modules/plunder/api_challenge.go @@ -0,0 +1,82 @@ +package plunder + +import ( + "fmt" + "go_dreamfactory/comm" + "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" +) + +// 参数校验 +func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.PlunderChallengeReq) (errdata *pb.ErrorData) { + if req.Battle == nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ReqParameterError, + Title: pb.ErrorCode_ReqParameterError.ToString(), + } + } + return +} + +// 船准备出发 +func (this *apiComp) Challenge(session comm.IUserSession, req *pb.PlunderChallengeReq) (errdata *pb.ErrorData) { + var ( + conf *cfg.GamePlunderData + err error + list *pb.DBPlunder + battleConf *cfg.GamePlunderBattleData + ) + + if errdata = this.ChallengeCheck(session, req); errdata != nil { + return // 参数校验失败直接返回 + } + + if list, err = this.module.modelPlunder.getPlunderData(session.GetUserId()); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Message: err.Error(), + } + return + } + if len(list.Source) > int(req.Index) { // 数组长度校验 + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ReqParameterError, + Title: pb.ErrorCode_ReqParameterError.ToString(), + Message: fmt.Sprintf("list.Source len:%d,req.index:%d", len(list.Source), req.Index), + } + return + } + // 配置校验 + if conf, err = this.module.configure.getGamePlunderDataById(list.Source[req.Index]); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), + } + return + } + if battleConf, err = this.module.configure.getGamePlunderBattleById(conf.Battleid); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), + } + return + } + errdata, record := this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{ + Rulesid: battleConf.BattleReadyID, + Ptype: pb.PlayType_mainline, + Title: "", + Format: req.Battle, + Mformat: battleConf.FormatList, + }) + if errdata != nil { + return + } + session.SendMsg(string(this.module.GetType()), "challenge", &pb.PlunderChallengeResp{ + Line: []*pb.PlunderLine{}, + Ship: map[string]*pb.ShipData{}, + Info: &pb.BattleInfo{Id: record.Id, Title: record.Title, Rulesid: battleConf.BattleReadyID, Btype: record.Btype, Ptype: record.Ptype, RedCompId: record.RedCompId, Redflist: record.Redflist, BlueCompId: record.BlueCompId, Buleflist: record.Buleflist, Tasks: record.Tasks}, + }) + return +} diff --git a/modules/plunder/api_refresh.go b/modules/plunder/api_refresh.go new file mode 100644 index 000000000..d25740fd9 --- /dev/null +++ b/modules/plunder/api_refresh.go @@ -0,0 +1,39 @@ +package plunder + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" +) + +func (this *apiComp) RefreshCheck(session comm.IUserSession, req *pb.PlunderRefreshReq) (errdata *pb.ErrorData) { + return +} + +// 获取基本信息 +func (this *apiComp) Refresh(session comm.IUserSession, req *pb.PlunderRefreshReq) (errdata *pb.ErrorData) { + var ( + err error + list *pb.DBPlunder + ) + if errdata = this.RefreshCheck(session, req); errdata != nil { + return + } + + if list, err = this.module.modelPlunder.getPlunderData(session.GetUserId()); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Message: err.Error(), + } + return + } + // 刷新货物 + list.Source, err = this.module.modelPlunder.refreshGoodsInfo() + this.module.modelPlunder.changePlunderData(session.GetUserId(), map[string]interface{}{ + "source": list.Source, + }) + session.SendMsg(string(this.module.GetType()), "refresh", &pb.PlunderRefreshResp{ + Source: list.Source, + }) + + return +} diff --git a/modules/plunder/configure.go b/modules/plunder/configure.go index 8b421af20..521774aa1 100644 --- a/modules/plunder/configure.go +++ b/modules/plunder/configure.go @@ -8,7 +8,8 @@ import ( ) const ( - game_plunder = "game_plunder.json" + game_plunder = "game_plunder.json" + game_plunderbattle = "game_plunderbattle.json" ) type configureComp struct { @@ -19,8 +20,11 @@ type configureComp struct { func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { err = this.MCompConfigure.Init(service, module, comp, options) this.module = module.(*Plunder) - err = this.LoadConfigure(game_plunder, cfg.NewGamePlunder) - + //err = this.LoadConfigure(game_plunder, cfg.NewGamePlunder) + err = this.LoadMultiConfigure(map[string]interface{}{ + game_plunder: cfg.NewGamePlunder, + game_plunderbattle: cfg.NewGamePlunderBattle, + }) return } @@ -53,7 +57,20 @@ func (this *configureComp) getGamePlunderDataById(id int32) (result *cfg.GamePlu return } -// 获取章节对应的奖励 +func (this *configureComp) getGamePlunderBattleById(id int32) (result *cfg.GamePlunderBattleData, err error) { + var ( + v interface{} + ) + if v, err = this.GetConfigure(game_plunderbattle); err == nil { + if configure, ok := v.(*cfg.GamePlunderBattle); ok { + if result = configure.Get(id); result != nil { + return + } + } + } + err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_plunderbattle, id) + return +} func (this *configureComp) getGameMonkeyRewardData(chapterid int32) (result []*cfg.GameMonkeyRewardData, err error) { return diff --git a/modules/plunder/model_land.go b/modules/plunder/model_land.go index d3d69696c..c849d5234 100644 --- a/modules/plunder/model_land.go +++ b/modules/plunder/model_land.go @@ -53,16 +53,18 @@ func (this *modelLand) createPlunderLandData(uid string) (land *pb.DBPlunderLand info []*pb.DBPlunder join map[string]struct{} curUids []string // 过滤后的玩家 + uInfos []*pb.BaseUserInfo ) land = &pb.DBPlunderLand{ Id: primitive.NewObjectID().Hex(), Ship: map[string]*pb.ShipData{}, + Uinfo: make(map[int32]*pb.BaseUserInfo, 0), Etime: utils.GetTodayZeroTime(configure.Now().Unix()) + 48*3600, // 临时处理 后面走配置 } if user, err = this.module.ModuleUser.GetUser(uid); err != nil { return } - land.Uinfo = append(land.Uinfo, comm.GetUserBaseInfo(user)) + uInfos = append(uInfos, comm.GetUserBaseInfo(user)) limtSocre = user.Plunder - 100 if limtSocre < 0 { limtSocre = 0 @@ -92,12 +94,17 @@ func (this *modelLand) createPlunderLandData(uid string) (land *pb.DBPlunderLand } if users, err = this.module.ModuleUser.GetUsers(curUids); err == nil { for _, v := range users { - land.Uinfo = append(land.Uinfo, comm.GetUserBaseInfo(v)) + uInfos = append(uInfos, comm.GetUserBaseInfo(v)) if len(land.Uinfo) > 20 { break } } } + + sz := utils.RandomNumbers(0, 20, len(uInfos)) + for k, v := range uInfos { + land.Uinfo[int32(sz[k])] = v + } err = this.AddList(comm.RDS_EMPTY, land.Id, land) return diff --git a/modules/plunder/model_plunder.go b/modules/plunder/model_plunder.go index 07bd4c2a2..88f769b80 100644 --- a/modules/plunder/model_plunder.go +++ b/modules/plunder/model_plunder.go @@ -7,6 +7,7 @@ import ( "go_dreamfactory/modules" "go_dreamfactory/pb" "go_dreamfactory/sys/configure" + cfg "go_dreamfactory/sys/configure/structs" "go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/mongo" @@ -21,6 +22,7 @@ type modelPlunder struct { func (this *modelPlunder) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { err = this.MCompModel.Init(service, module, comp, options) this.TableName = comm.TablePlunder + this.module = module.(*Plunder) this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{ Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}}, }) @@ -47,6 +49,8 @@ func (this *modelPlunder) getPlunderData(uid string) (info *pb.DBPlunder, err er info.Line = append(info.Line, &pb.PlunderLine{ Closetime: -1, // 需要手动解锁 }) + // 刷新货物信息 + info.Source, _ = this.refreshGoodsInfo() err = this.Add(uid, info) } return @@ -65,3 +69,23 @@ func (this *modelPlunder) getPlunderDataByUids(uid []string) (info []*pb.DBPlund } return } + +// 刷新货物信息 +func (this *modelPlunder) refreshGoodsInfo() (cids []int32, err error) { + var ( + result []*cfg.GamePlunderData + szW []int32 + szIndex []int // 随机索引值 + ) + if result, err = this.module.configure.getGamePlunderData(); err != nil { + return + } + for _, v := range result { + szW = append(szW, v.Weight) + } + szIndex = comm.GetRandWs(szW, 6) + for _, v := range szIndex { + cids = append(cids, result[v].Id) + } + return +} diff --git a/modules/plunder/module.go b/modules/plunder/module.go index 950f5611d..badd148b7 100644 --- a/modules/plunder/module.go +++ b/modules/plunder/module.go @@ -22,6 +22,7 @@ type Plunder struct { configure *configureComp modelPlunder *modelPlunder modelLand *modelLand + battle comm.IBattle } // 模块名 @@ -33,6 +34,11 @@ func (this *Plunder) GetType() core.M_Modules { func (this *Plunder) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) { err = this.ModuleBase.Init(service, module, options) this.service = service.(comm.IService) + if module, err = this.service.GetModule(comm.ModuleBattle); err != nil { + return + } + + this.battle = module.(comm.IBattle) return } diff --git a/pb/plunder_db.pb.go b/pb/plunder_db.pb.go index efc4bc3a3..1acd1bec2 100644 --- a/pb/plunder_db.pb.go +++ b/pb/plunder_db.pb.go @@ -32,9 +32,10 @@ type DBPlunder struct { Line []*PlunderLine `protobuf:"bytes,4,rep,name=line,proto3" json:"line"` // 运输队列 Count int32 `protobuf:"varint,5,opt,name=count,proto3" json:"count"` // 运输次数 Source []int32 `protobuf:"varint,6,rep,packed,name=source,proto3" json:"source"` // 货源列表 - Refresh int32 `protobuf:"varint,7,opt,name=refresh,proto3" json:"refresh"` // 刷新次数 - Ctime int64 `protobuf:"varint,8,opt,name=ctime,proto3" json:"ctime"` // 刷新时间 客户端不用 - Score int32 `protobuf:"varint,9,opt,name=score,proto3" json:"score"` // 当前赛季积分 + Setout []int32 `protobuf:"varint,7,rep,packed,name=setout,proto3" json:"setout"` // 已经出发的列表 + Refresh int32 `protobuf:"varint,8,opt,name=refresh,proto3" json:"refresh"` // 刷新次数 + Ctime int64 `protobuf:"varint,9,opt,name=ctime,proto3" json:"ctime"` // 刷新时间 客户端不用 + Score int32 `protobuf:"varint,10,opt,name=score,proto3" json:"score"` // 当前赛季积分 } func (x *DBPlunder) Reset() { @@ -111,6 +112,13 @@ func (x *DBPlunder) GetSource() []int32 { return nil } +func (x *DBPlunder) GetSetout() []int32 { + if x != nil { + return x.Setout + } + return nil +} + func (x *DBPlunder) GetRefresh() int32 { if x != nil { return x.Refresh @@ -306,10 +314,10 @@ type DBPlunderLand struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID - Uinfo []*BaseUserInfo `protobuf:"bytes,2,rep,name=uinfo,proto3" json:"uinfo"` // 成员信息 key uid - Ship map[string]*ShipData `protobuf:"bytes,3,rep,name=ship,proto3" json:"ship" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // 运输的船 key 唯一id - Etime int64 `protobuf:"varint,4,opt,name=etime,proto3" json:"etime"` // 结束时间 + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID + Uinfo map[int32]*BaseUserInfo `protobuf:"bytes,2,rep,name=uinfo,proto3" json:"uinfo" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // 成员信息 key 岛位置 + Ship map[string]*ShipData `protobuf:"bytes,3,rep,name=ship,proto3" json:"ship" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // 运输的船 key 唯一id + Etime int64 `protobuf:"varint,4,opt,name=etime,proto3" json:"etime"` // 结束时间 } func (x *DBPlunderLand) Reset() { @@ -351,7 +359,7 @@ func (x *DBPlunderLand) GetId() string { return "" } -func (x *DBPlunderLand) GetUinfo() []*BaseUserInfo { +func (x *DBPlunderLand) GetUinfo() map[int32]*BaseUserInfo { if x != nil { return x.Uinfo } @@ -379,7 +387,7 @@ var file_plunder_plunder_db_proto_rawDesc = []byte{ 0x72, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0xdb, 0x01, 0x0a, 0x09, 0x44, 0x42, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x0e, 0x0a, + 0xf3, 0x01, 0x0a, 0x09, 0x44, 0x42, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, @@ -388,48 +396,55 @@ var file_plunder_plunder_db_proto_rawDesc = []byte{ 0x69, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x66, 0x72, 0x65, - 0x73, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, - 0x68, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x7b, 0x0a, - 0x0b, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x69, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x09, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xeb, 0x01, 0x0a, 0x08, 0x53, - 0x68, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x04, 0x6c, 0x69, 0x6e, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, - 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x68, - 0x65, 0x72, 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x53, 0x68, 0x69, 0x70, - 0x44, 0x61, 0x74, 0x61, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, - 0x68, 0x65, 0x72, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, - 0x63, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x63, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x1a, 0x42, 0x0a, 0x09, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xcc, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x50, - 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x61, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x12, - 0x2c, 0x0a, 0x04, 0x73, 0x68, 0x69, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x44, 0x42, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x61, 0x6e, 0x64, 0x2e, 0x53, 0x68, - 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x73, 0x68, 0x69, 0x70, 0x12, 0x14, 0x0a, - 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x74, - 0x69, 0x6d, 0x65, 0x1a, 0x42, 0x0a, 0x09, 0x53, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x74, 0x6f, 0x75, + 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x73, 0x65, 0x74, 0x6f, 0x75, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x7b, 0x0a, 0x0b, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, + 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, + 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6f, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x74, 0x69, + 0x6d, 0x65, 0x22, 0xeb, 0x01, 0x0a, 0x08, 0x53, 0x68, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, + 0x64, 0x12, 0x20, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0c, 0x2e, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x6c, + 0x69, 0x6e, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x53, 0x68, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x48, 0x65, 0x72, + 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x63, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x02, 0x63, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x1a, 0x42, 0x0a, 0x09, + 0x48, 0x65, 0x72, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0xa1, 0x02, 0x0a, 0x0d, 0x44, 0x42, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x61, + 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x44, 0x42, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x61, 0x6e, + 0x64, 0x2e, 0x55, 0x69, 0x6e, 0x66, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x75, 0x69, + 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x04, 0x73, 0x68, 0x69, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x61, 0x6e, + 0x64, 0x2e, 0x53, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x73, 0x68, 0x69, + 0x70, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x47, 0x0a, 0x0a, 0x55, 0x69, 0x6e, 0x66, 0x6f, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x42, 0x0a, 0x09, 0x53, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, + 0x2e, 0x53, 0x68, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -444,30 +459,32 @@ func file_plunder_plunder_db_proto_rawDescGZIP() []byte { return file_plunder_plunder_db_proto_rawDescData } -var file_plunder_plunder_db_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_plunder_plunder_db_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_plunder_plunder_db_proto_goTypes = []interface{}{ (*DBPlunder)(nil), // 0: DBPlunder (*PlunderLine)(nil), // 1: PlunderLine (*ShipData)(nil), // 2: ShipData (*DBPlunderLand)(nil), // 3: DBPlunderLand nil, // 4: ShipData.HeroEntry - nil, // 5: DBPlunderLand.ShipEntry - (*BaseUserInfo)(nil), // 6: BaseUserInfo + nil, // 5: DBPlunderLand.UinfoEntry + nil, // 6: DBPlunderLand.ShipEntry (*LineData)(nil), // 7: LineData + (*BaseUserInfo)(nil), // 8: BaseUserInfo } var file_plunder_plunder_db_proto_depIdxs = []int32{ 1, // 0: DBPlunder.line:type_name -> PlunderLine 1, // 1: ShipData.line:type_name -> PlunderLine 4, // 2: ShipData.hero:type_name -> ShipData.HeroEntry - 6, // 3: DBPlunderLand.uinfo:type_name -> BaseUserInfo - 5, // 4: DBPlunderLand.ship:type_name -> DBPlunderLand.ShipEntry + 5, // 3: DBPlunderLand.uinfo:type_name -> DBPlunderLand.UinfoEntry + 6, // 4: DBPlunderLand.ship:type_name -> DBPlunderLand.ShipEntry 7, // 5: ShipData.HeroEntry.value:type_name -> LineData - 2, // 6: DBPlunderLand.ShipEntry.value:type_name -> ShipData - 7, // [7:7] is the sub-list for method output_type - 7, // [7:7] is the sub-list for method input_type - 7, // [7:7] is the sub-list for extension type_name - 7, // [7:7] is the sub-list for extension extendee - 0, // [0:7] is the sub-list for field type_name + 8, // 6: DBPlunderLand.UinfoEntry.value:type_name -> BaseUserInfo + 2, // 7: DBPlunderLand.ShipEntry.value:type_name -> ShipData + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name } func init() { file_plunder_plunder_db_proto_init() } @@ -533,7 +550,7 @@ func file_plunder_plunder_db_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_plunder_plunder_db_proto_rawDesc, NumEnums: 0, - NumMessages: 6, + NumMessages: 7, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/plunder_msg.pb.go b/pb/plunder_msg.pb.go index 5600bab0f..c17b7e4c2 100644 --- a/pb/plunder_msg.pb.go +++ b/pb/plunder_msg.pb.go @@ -206,8 +206,8 @@ type PlunderChallengeReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Cid int32 `protobuf:"varint,1,opt,name=cid,proto3" json:"cid"` - Pos int32 `protobuf:"varint,2,opt,name=pos,proto3" json:"pos"` // 队列的位置 + Index int32 `protobuf:"varint,1,opt,name=index,proto3" json:"index"` // source 货源列表对应的下标 + Pos int32 `protobuf:"varint,2,opt,name=pos,proto3" json:"pos"` // 队列的位置 Battle *BattleFormation `protobuf:"bytes,3,opt,name=battle,proto3" json:"battle"` } @@ -243,9 +243,9 @@ func (*PlunderChallengeReq) Descriptor() ([]byte, []int) { return file_plunder_plunder_msg_proto_rawDescGZIP(), []int{4} } -func (x *PlunderChallengeReq) GetCid() int32 { +func (x *PlunderChallengeReq) GetIndex() int32 { if x != nil { - return x.Cid + return x.Index } return 0 } @@ -719,81 +719,82 @@ var file_plunder_plunder_msg_proto_rawDesc = []byte{ 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x22, 0x2c, 0x0a, 0x12, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x63, 0x0a, 0x13, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x67, 0x0a, 0x13, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x28, 0x0a, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, - 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x14, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x04, 0x6c, 0x69, - 0x6e, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x50, 0x6c, 0x75, 0x6e, 0x64, - 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x33, 0x0a, 0x04, - 0x73, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x50, 0x6c, 0x75, - 0x6e, 0x64, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x2e, 0x53, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x73, 0x68, 0x69, - 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, - 0x66, 0x6f, 0x1a, 0x42, 0x0a, 0x09, 0x53, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x09, 0x2e, 0x53, 0x68, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x64, 0x0a, 0x17, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, - 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, - 0x63, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xd8, 0x01, 0x0a, - 0x18, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, - 0x65, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x04, 0x6c, 0x69, 0x6e, - 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, - 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x73, - 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x50, 0x6c, 0x75, 0x6e, - 0x64, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, - 0x73, 0x68, 0x69, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x61, 0x74, 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x04, 0x61, - 0x74, 0x6e, 0x6f, 0x1a, 0x42, 0x0a, 0x09, 0x53, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x6f, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x28, 0x0a, 0x06, 0x62, + 0x61, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, + 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x62, + 0x61, 0x74, 0x74, 0x6c, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x14, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, + 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, + 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x50, + 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, + 0x12, 0x33, 0x0a, 0x04, 0x73, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, + 0x2e, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x04, 0x73, 0x68, 0x69, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x1a, 0x42, 0x0a, 0x09, 0x53, 0x68, 0x69, 0x70, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x64, 0x0a, 0x17, 0x50, 0x6c, + 0x75, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4f, 0x76, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, + 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x22, 0xd8, 0x01, 0x0a, 0x18, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, + 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x50, 0x6c, + 0x75, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, + 0x37, 0x0a, 0x04, 0x73, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x04, 0x73, 0x68, 0x69, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x61, 0x74, 0x6e, 0x6f, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x6e, + 0x6f, 0x52, 0x04, 0x61, 0x74, 0x6e, 0x6f, 0x1a, 0x42, 0x0a, 0x09, 0x53, 0x68, 0x69, 0x70, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x23, 0x0a, 0x0f, 0x50, + 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x61, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x10, + 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, + 0x22, 0xa9, 0x01, 0x0a, 0x10, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x61, 0x63, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6e, + 0x65, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x73, 0x68, 0x69, 0x70, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x52, + 0x65, 0x61, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x04, 0x73, 0x68, 0x69, 0x70, 0x1a, 0x42, 0x0a, 0x09, 0x53, 0x68, 0x69, 0x70, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x69, 0x70, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x27, 0x0a, 0x13, + 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, + 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x03, 0x6f, 0x69, 0x64, 0x22, 0x8f, 0x01, 0x0a, 0x14, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, + 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x33, + 0x0a, 0x04, 0x73, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x50, + 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x53, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x73, + 0x68, 0x69, 0x70, 0x1a, 0x42, 0x0a, 0x09, 0x53, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x23, 0x0a, 0x0f, 0x50, 0x6c, 0x75, 0x6e, 0x64, - 0x65, 0x72, 0x52, 0x65, 0x61, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x22, 0xa9, 0x01, 0x0a, - 0x10, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x61, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x20, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0c, 0x2e, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x6c, - 0x69, 0x6e, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x73, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x61, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, - 0x73, 0x68, 0x69, 0x70, 0x1a, 0x42, 0x0a, 0x09, 0x53, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x27, 0x0a, 0x13, 0x50, 0x6c, 0x75, 0x6e, - 0x64, 0x65, 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x52, 0x65, 0x71, 0x12, - 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, - 0x64, 0x22, 0x8f, 0x01, 0x0a, 0x14, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x33, 0x0a, 0x04, 0x73, 0x68, - 0x69, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x50, 0x6c, 0x75, 0x6e, 0x64, - 0x65, 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x2e, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x89, 0x01, 0x0a, 0x11, 0x50, 0x6c, 0x75, 0x6e, + 0x64, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x30, 0x0a, + 0x04, 0x73, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x50, 0x6c, + 0x75, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x2e, 0x53, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x73, 0x68, 0x69, 0x70, 0x1a, 0x42, 0x0a, 0x09, 0x53, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x89, 0x01, 0x0a, 0x11, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x68, 0x69, - 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x50, 0x6c, 0x75, 0x6e, 0x64, 0x65, - 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x2e, 0x53, 0x68, 0x69, 0x70, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x73, 0x68, 0x69, 0x70, 0x1a, 0x42, 0x0a, 0x09, 0x53, - 0x68, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x69, 0x70, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, - 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var (