This commit is contained in:
meixiongfeng 2023-12-30 18:03:11 +08:00
parent bb1967ab0b
commit efa0fa3456
15 changed files with 1158 additions and 976 deletions

View File

@ -105,9 +105,11 @@ func (this *apiComp) GetAssistHero(session comm.IUserSession, req *pb.FriendGetA
return return
} }
for _, v := range friends { for _, v := range friends {
if v.Hero != nil {
heros = append(heros, v.Hero) heros = append(heros, v.Hero)
} }
} }
}
session.SendMsg(string(this.module.GetType()), "getassisthero", &pb.FriendGetAssistHeroResp{ session.SendMsg(string(this.module.GetType()), "getassisthero", &pb.FriendGetAssistHeroResp{
Data: list, Data: list,

View File

@ -79,10 +79,10 @@ func (this *apiComp) RefreshAssistHero(session comm.IUserSession, req *pb.Friend
list.Data[key] = names[pos] list.Data[key] = names[pos]
ahero = append(ahero, heros[pos]) ahero = append(ahero, heros[pos])
} }
list.Data = make(map[string]string)
localNum, _ := this.module.modelFriend.DB.CountDocuments(core.SqlTable(this.module.modelFriend.TableName), bson.M{}) //localNum, _ := this.module.modelFriend.DB.CountDocuments(core.SqlTable(this.module.modelFriend.TableName), bson.M{})
randomIndex := comm.GetRandNum(0, int32(localNum)) //randomIndex := comm.GetRandNum(0, int32(localNum))
cur, err := this.module.modelFriend.DB.Find(core.SqlTable(this.module.modelFriend.TableName), bson.M{"assistHeroId": bson.M{"$ne": ""}}, options.Find().SetSkip(int64(randomIndex)).SetLimit(int64(strangerCount))) cur, err := this.module.modelFriend.DB.Find(core.SqlTable(this.module.modelFriend.TableName), bson.M{"assistHeroId": bson.M{"$ne": ""}}, options.Find().SetSkip(0).SetLimit(int64(strangerCount)))
for cur.Next(context.TODO()) { for cur.Next(context.TODO()) {
tmp := &pb.DBFriend{} tmp := &pb.DBFriend{}
if err = cur.Decode(tmp); err == nil { if err = cur.Decode(tmp); err == nil {

View File

@ -64,15 +64,12 @@ func (this *ModelFriend) GetFriend(uid string) (info *pb.DBFriend, err error) {
func (this *ModelFriend) GetFriends(uids []string) (friends []*pb.DBFriend, err error) { func (this *ModelFriend) GetFriends(uids []string) (friends []*pb.DBFriend, err error) {
friends = make([]*pb.DBFriend, 0) friends = make([]*pb.DBFriend, 0)
var onfound []string var onfound []string
if onfound, err = this.Gets(uids, &friends); err != nil { if onfound, err = this.GetByUids(uids, &friends); err != nil {
this.moduole.Errorln(err) this.moduole.Errorln(err)
} }
for _, v := range onfound { for _, v := range onfound {
var user *pb.DBUser
if user, err = this.moduole.ModuleUser.GetUser(v); err != nil { if user, e := this.moduole.ModuleUser.GetUser(v); e == nil {
this.moduole.Errorln(err)
return
}
info := &pb.DBFriend{ info := &pb.DBFriend{
Id: primitive.NewObjectID().Hex(), Id: primitive.NewObjectID().Hex(),
Uid: v, Uid: v,
@ -87,5 +84,6 @@ func (this *ModelFriend) GetFriends(uids []string) (friends []*pb.DBFriend, err
err = this.Add(v, info) err = this.Add(v, info)
friends = append(friends, info) friends = append(friends, info)
} }
}
return return
} }

View File

@ -111,7 +111,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha
if hunting.BossTime[key] == 0 || hunting.BossTime[key] > req.Report.Costtime { if hunting.BossTime[key] == 0 || hunting.BossTime[key] > req.Report.Costtime {
hunting.BossTime[key] = req.Report.Costtime hunting.BossTime[key] = req.Report.Costtime
mapData["bossTime"] = hunting.BossTime // 更新时间 mapData["bossTime"] = hunting.BossTime // 更新时间
this.module.CheckRank(session.GetUserId(), req.BossType, req.Difficulty, req.Report)
} }
// 发放通关随机奖励 // 发放通关随机奖励
user, err := this.module.ModuleUser.GetUser(session.GetUserId()) user, err := this.module.ModuleUser.GetUser(session.GetUserId())
@ -181,6 +181,27 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha
Sell: del, Sell: del,
Heroexp: changExp, Heroexp: changExp,
}) })
szLine := make([]*pb.LineUp, 0)
var Leadpos int32
if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 {
Leadpos = req.Report.Info.Redflist[0].Leadpos
for _, v := range req.Report.Info.Redflist[0].Team {
if v != nil {
szLine = append(szLine, &pb.LineUp{
Cid: v.HeroID,
Star: v.Star,
Lv: v.Lv,
})
}
}
}
go func() {
line := &pb.LineData{
Leadpos: Leadpos,
Line: szLine,
}
this.module.modulerank.CheckRank(session.GetUserId(), req.BossType, req.Difficulty, line, req.Report.Costtime)
}()
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype80, 1, req.BossType, req.Difficulty)) tasks = append(tasks, comm.GetBuriedParam(comm.Rtype80, 1, req.BossType, req.Difficulty))
// 随机任务统计 // 随机任务统计
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype81, req.Difficulty, req.BossType) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype81, req.Difficulty, req.BossType)

View File

@ -1,60 +1,61 @@
package hunting package hunting
import ( import (
"context"
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/sys/redis/pipe"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/db"
"strconv"
"github.com/go-redis/redis/v8"
) )
//参数校验 //参数校验
func (this *apiComp) RankListCheck(session comm.IUserSession, req *pb.HuntingRankListReq) (errdata *pb.ErrorData) { func (this *apiComp) RankListCheck(session comm.IUserSession, req *pb.HuntingRankListReq) (errdata *pb.ErrorData) {
if req.BoosType == 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
}
}
return return
} }
func (this *apiComp) RankList(session comm.IUserSession, req *pb.HuntingRankListReq) (errdata *pb.ErrorData) { func (this *apiComp) RankList(session comm.IUserSession, req *pb.HuntingRankListReq) (errdata *pb.ErrorData) {
var ( var (
szRank []*pb.DBHuntingRank fRank []*pb.DBHuntingRank
rd *redis.StringSliceCmd uids []string
err error
ranks []*pb.DBHuntingRecord
players []*pb.DBHuntingRank
) )
if errdata = this.RankListCheck(session, req); errdata != nil { if errdata = this.RankListCheck(session, req); errdata != nil {
return // 参数校验失败直接返回 return // 参数校验失败直接返回
} }
conn, _ := db.Local() if uids, err = this.module.modulerank.querySRankUser(int(req.BoosType)); err != nil {
dbModel := db.NewDBModelByExpired(comm.TableHuntingRank, conn) errdata = &pb.ErrorData{
if !req.Friend { Code: pb.ErrorCode_DBError,
var ( Title: pb.ErrorCode_DBError.ToString(),
pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO()) Message: err.Error(),
) }
rd = pipe.ZRevRange("huntingRank"+strconv.Itoa(int(req.BoosType)), 0, comm.MaxRankList)
if _, err := pipe.Exec(); err != nil {
this.module.Errorln(err)
return return
} }
_dataList := rd.Val() if ranks, err = this.module.modulerank.queryPlayers(uids); err != nil {
for _, v := range _dataList { errdata = &pb.ErrorData{
result := &pb.DBHuntingRank{} Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
if err := dbModel.Redis.HGetAll(v, result); err == nil { Message: err.Error(),
szRank = append(szRank, result)
} }
} return
} else { }
uids := this.friend.GetFriendList(session.GetUserId()) players = make([]*pb.DBHuntingRank, len(ranks))
for _, id := range uids { for i, v := range ranks {
rankData := this.module.modulerank.getHuntingRankListByBossType(id, req.BoosType) players[i] = &pb.DBHuntingRank{
if rankData != nil { Uinfo: v.Uinfo,
szRank = append(szRank, rankData) Line: v.Data[req.BoosType].Line[v.Data[req.BoosType].Maxnandu],
} Difficulty: v.Data[req.BoosType].Maxnandu,
} Bosstype: req.BoosType,
} Costtime: v.Data[req.BoosType].Costime[v.Data[req.BoosType].Maxnandu],
}
session.SendMsg(string(this.module.GetType()), HuntingRankListResp, &pb.HuntingRankListResp{Ranks: szRank}) }
session.SendMsg(string(this.module.GetType()), HuntingRankListResp, &pb.HuntingRankListResp{
Ranks: players,
Franks: fRank,
})
return return
} }

View File

@ -4,88 +4,180 @@ import (
"context" "context"
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/lego/sys/redis/pipe"
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/db" "go_dreamfactory/sys/db"
"strconv"
"github.com/go-redis/redis/v8" "github.com/go-redis/redis/v8"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/x/bsonx" "go.mongodb.org/mongo-driver/x/bsonx"
) )
type ModelRank struct { type ModelRank struct {
modules.MCompModel modules.MCompModel
moduleHunting *Hunting moduleHunting *Hunting
} }
func (this *ModelRank) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { func (this *ModelRank) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.TableName = comm.TableHuntingRecord // 挑战记录 this.TableName = comm.TableHuntingRank
err = this.MCompModel.Init(service, module, comp, options) err = this.MCompModel.Init(service, module, comp, options)
this.moduleHunting = module.(*Hunting) this.moduleHunting = module.(*Hunting)
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{ //创建uid索引
this.DB.CreateIndex(core.SqlTable(comm.TableHuntingRank), mongo.IndexModel{
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}}, Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
}) })
return return
} }
func (this *ModelRank) getHuntingRankList(uid string) []*pb.DBHuntingRank { // 获取排行榜数据
ranks := make([]*pb.DBHuntingRank, 0) func (this *ModelRank) getHuntingRank(uid string) *pb.DBHuntingRecord {
err := this.GetList(uid, &ranks) data := &pb.DBHuntingRecord{}
if err != nil {
return nil
}
return ranks
}
func (this *ModelRank) getHuntingRankListByBossType(uid string, bossType int32) *pb.DBHuntingRank {
ranks := make([]*pb.DBHuntingRank, 0)
if db.IsCross() {
err := this.GetList(uid, &ranks)
if err != nil {
return nil
}
for _, v := range ranks {
if v.Bosstype == bossType {
return v
}
}
} else {
conn, err := db.Cross()
if err != nil {
return nil
}
model := db.NewDBModelByExpired(comm.TableHuntingRank, conn)
err = model.GetList(uid, &ranks)
if err != nil {
return nil
}
for _, v := range ranks {
if v.Bosstype == bossType {
return v
}
}
}
return nil
}
// 排行数据写跨服
func (this *ModelRank) SetRankListData(tableName string, score int64, uid string) {
if !db.IsCross() { if !db.IsCross() {
if conn, err := db.Cross(); err == nil { if conn_, err := db.Cross(); err == nil {
model := db.NewDBModelByExpired(comm.TableHuntingRank, conn_)
if err := model.Get(uid, data); err != nil {
return data
}
}
}
return data
}
// 获取排行榜前50的用户名单
func (this *ModelRank) querySRankUser(bossid int) (ranks []string, err error) {
var ( var (
pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO()) result []string
menbers *redis.Z
) )
tableName := this.TableName + strconv.Itoa(int(bossid))
if result, err = this.Redis.ZRevRange(tableName, 0, comm.MinRankList).Result(); err != nil {
//this.module.Errorln(err)
return
}
ranks = make([]string, 0)
for i := 0; i < len(result); i += 1 {
ranks = append(ranks, result[i])
}
return
}
func (this *ModelRank) queryPlayers(uIds []string) (result []*pb.DBHuntingRecord, err error) {
result = make([]*pb.DBHuntingRecord, 0)
if _, err = this.GetByUids(uIds, &result); err != nil && err != mgo.MongodbNil {
//this.module.Errorln(err)
return
}
return
}
// 记录数据存在跨服
func (this *ModelRank) CheckRank(uid string, boosID int32, difficulty int32, line *pb.LineData, costTime int32) {
conn_, err := db.Cross() // 获取跨服数据库对象
if err != nil {
return
}
user, err := this.moduleHunting.ModuleUser.GetUser(uid)
if err != nil {
return
}
model := db.NewDBModelByExpired(comm.TableHuntingRank, conn_)
// 写入排行榜
record := &pb.DBHuntingRecord{
Data: map[int32]*pb.HuntingData{},
}
if err = model.Get(uid, record); err == mgo.MongodbNil {
record.Id = primitive.NewObjectID().Hex()
record.Data = make(map[int32]*pb.HuntingData, 0)
record.Uid = uid
record.Uinfo = &pb.BaseUserInfo{
Uid: uid,
Sid: user.Sid,
Name: user.Name,
Gender: user.Gender,
Skin: user.CurSkin,
Aframe: user.Curaframe,
Title: user.Curtitle,
Lv: user.Lv,
}
mpLine := make(map[int32]*pb.LineData, 0)
mpLine[difficulty] = line
tmp := make(map[int32]int32, 0)
tmp[difficulty] = costTime
if _, ok := record.Data[boosID]; !ok {
record.Data[boosID] = &pb.HuntingData{
Costime: tmp,
Maxnandu: difficulty,
Line: mpLine,
}
} else {
if record.Data[boosID].Maxnandu < difficulty {
record.Data[boosID].Maxnandu = difficulty
}
}
model.Add(uid, record)
} else if err == nil {
record.Uinfo = &pb.BaseUserInfo{
Uid: uid,
Sid: user.Sid,
Name: user.Name,
Gender: user.Gender,
Skin: user.CurSkin,
Aframe: user.Curaframe,
Title: user.Curtitle,
Lv: user.Lv,
}
update := make(map[string]interface{}, 0)
update["uinfo"] = record.Uinfo
if _, ok := record.Data[boosID]; !ok {
tmp := make(map[int32]int32, 0)
tmp[difficulty] = costTime
mpLine := make(map[int32]*pb.LineData, 0)
mpLine[difficulty] = line
record.Data[boosID] = &pb.HuntingData{
Costime: tmp,
Maxnandu: difficulty,
Line: mpLine,
}
} else {
if record.Data[boosID].Maxnandu < difficulty {
record.Data[boosID].Maxnandu = difficulty
} else {
if record.Data[boosID].Costime[difficulty] > costTime { // 不是新记录不写
return
}
}
}
record.Data[boosID].Costime[difficulty] = costTime
record.Data[boosID].Line[difficulty] = line
update["data"] = record.Data
model.Change(uid, update)
}
var (
pipe *pipe.RedisPipe = conn_.Redis.RedisPipe(context.TODO())
menbers *redis.Z
tableName string
score int32
)
score = difficulty*10000 + (10000 - costTime)
tableName = this.TableName + strconv.Itoa(int(boosID))
menbers = &redis.Z{Score: float64(score), Member: uid} menbers = &redis.Z{Score: float64(score), Member: uid}
if cmd := pipe.ZAdd(tableName, menbers); cmd != nil { if cmd := pipe.ZAdd(tableName, menbers); cmd != nil {
if _, err = cmd.Result(); err != nil {
dock, err1 := cmd.Result() this.moduleHunting.Errorln(err)
if err1 != nil {
this.moduleHunting.Errorln(dock, err1)
} }
} }
if _, err := pipe.Exec(); err != nil { if _, err := pipe.Exec(); err != nil {
@ -93,5 +185,3 @@ func (this *ModelRank) SetRankListData(tableName string, score int64, uid string
return return
} }
} }
}
}

View File

@ -1,18 +1,10 @@
package hunting package hunting
import ( import (
"context"
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/redis/pipe"
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/db"
"math"
"strconv"
"github.com/go-redis/redis/v8"
"go.mongodb.org/mongo-driver/bson/primitive"
) )
type Hunting struct { type Hunting struct {
@ -76,104 +68,20 @@ func (this *Hunting) ModifyHuntingData(uid string, data map[string]interface{})
} }
func (this *Hunting) CheckUserBaseHuntingInfo(uid string) (data []*pb.DBHuntingRank) { func (this *Hunting) CheckUserBaseHuntingInfo(uid string) (data []*pb.DBHuntingRank) {
list, err := this.modelHunting.getHuntingList(uid)
if err == nil { if d := this.modulerank.getHuntingRank(uid); d.Id != "" {
for k := range list.Boss { for k, v := range d.Data {
_d := this.modulerank.getHuntingRankListByBossType(uid, k) data = append(data, &pb.DBHuntingRank{
if _d != nil { Uinfo: d.Uinfo,
data = append(data, _d) Line: v.Line[v.Maxnandu],
} Difficulty: v.Maxnandu,
Bosstype: k,
Costtime: v.Costime[v.Maxnandu],
})
} }
} }
return return
} }
func (this *Hunting) CheckRank(uid string, boosID int32, difficulty int32, report *pb.BattleReport) {
conn_, _ := db.Cross() // 获取跨服数据库对象
userinfo, err := this.ModuleUser.GetUser(uid)
if err != nil {
return
}
model := db.NewDBModel(comm.TableHuntingRank, conn_)
costTime := report.Costtime
szLine := make([]*pb.LineUp, len(report.Info.Redflist[0].Team))
Leadpos := 0
if report != nil && report.Info != nil && len(report.Info.Redflist) > 0 {
costTime = report.Costtime
Leadpos = int(report.Info.Redflist[0].Leadpos)
for i, v := range report.Info.Redflist[0].Team {
if v != nil {
szLine[i] = &pb.LineUp{
Cid: v.HeroID,
Star: v.Star,
Lv: v.Lv,
}
}
}
}
// 写入排行榜
objID := ""
bFind := false
ranks := make([]*pb.DBHuntingRank, 0)
model.GetList(uid, &ranks)
for _, v := range ranks {
if v.Bosstype == boosID {
mapRankData := make(map[string]interface{}, 0)
mapRankData["difficulty"] = difficulty
mapRankData["bosstype"] = boosID
mapRankData["Leadpos"] = Leadpos
mapRankData["line"] = szLine
mapRankData["costTime"] = costTime
model.ChangeList(uid, v.Id, mapRankData)
objID = v.Id
bFind = true
break
}
}
if !bFind {
new := &pb.DBHuntingRank{
Id: primitive.NewObjectID().Hex(),
Uid: uid,
Difficulty: difficulty,
Bosstype: boosID,
Nickname: userinfo.Name,
Skin: userinfo.CurSkin,
Lv: userinfo.Lv,
Leadpos: int32(Leadpos),
Line: szLine,
CostTime: costTime,
Sex: userinfo.Gender,
Title: userinfo.Curtitle,
}
objID = new.Id
model.AddList(uid, new.Id, new)
}
var (
pipe *pipe.RedisPipe = conn_.Redis.RedisPipe(context.TODO())
menbers *redis.Z
tableName string
score int64
)
score = int64(difficulty)<<31 + int64(math.MaxInt32-costTime)
tableName = "huntingRank" + strconv.Itoa(int(boosID))
strKey := "huntingRank:" + uid + "-" + objID
menbers = &redis.Z{Score: float64(score), Member: strKey}
if cmd := pipe.ZAdd(tableName, menbers); cmd != nil {
dock, err1 := cmd.Result()
if err1 != nil {
this.Errorln(dock, err1)
}
}
if _, err := pipe.Exec(); err != nil {
this.Errorln(err)
return
}
}
//红点查询 //红点查询
func (this *Hunting) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (reddot map[comm.ReddotType]*pb.ReddotItem) { func (this *Hunting) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (reddot map[comm.ReddotType]*pb.ReddotItem) {

View File

@ -53,6 +53,27 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.VikingRankListR
Costtime: v.Data[req.BoosType].Costime[v.Data[req.BoosType].Maxnandu], Costtime: v.Data[req.BoosType].Costime[v.Data[req.BoosType].Maxnandu],
} }
} }
// 获取好友数据
uids = this.module.ModuleFriend.GetFriendList(session.GetUserId())
if ranks, err = this.module.modulerank.queryPlayers(uids); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
fRank = make([]*pb.DBVikingRank, len(ranks))
for i, v := range ranks {
fRank[i] = &pb.DBVikingRank{
Uinfo: v.Uinfo,
Line: v.Data[req.BoosType].Line[v.Data[req.BoosType].Maxnandu],
Difficulty: v.Data[req.BoosType].Maxnandu,
Bosstype: req.BoosType,
Costtime: v.Data[req.BoosType].Costime[v.Data[req.BoosType].Maxnandu],
}
}
session.SendMsg(string(this.module.GetType()), VikingRankListResp, &pb.VikingRankListResp{ session.SendMsg(string(this.module.GetType()), VikingRankListResp, &pb.VikingRankListResp{
Ranks: players, Ranks: players,
Franks: fRank, Franks: fRank,

View File

@ -71,7 +71,7 @@ func (this *ModelRank) querySRankUser(bossid int) (ranks []string, err error) {
func (this *ModelRank) queryPlayers(uIds []string) (result []*pb.DBVikingRecord, err error) { func (this *ModelRank) queryPlayers(uIds []string) (result []*pb.DBVikingRecord, err error) {
result = make([]*pb.DBVikingRecord, 0) result = make([]*pb.DBVikingRecord, 0)
if _, err = this.Gets(uIds, &result); err != nil && err != mgo.MongodbNil { if _, err = this.GetByUids(uIds, &result); err != nil && err != mgo.MongodbNil {
//this.module.Errorln(err) //this.module.Errorln(err)
return return
} }

View File

@ -42,7 +42,7 @@ func (this *ModelSRank) Init(service core.IService, module core.IModule, comp co
func (this *ModelSRank) queryPlayers(uIds []string, conn_ *db.DBConn) (result []*pb.DBVSeasonRecord, err error) { func (this *ModelSRank) queryPlayers(uIds []string, conn_ *db.DBConn) (result []*pb.DBVSeasonRecord, err error) {
result = make([]*pb.DBVSeasonRecord, 0) result = make([]*pb.DBVSeasonRecord, 0)
model := db.NewDBModelByExpired(comm.TableVikingSRank, conn_) model := db.NewDBModelByExpired(comm.TableVikingSRank, conn_)
if _, err = model.Gets(uIds, &result); err != nil && err != mgo.MongodbNil { if _, err = model.GetByUids(uIds, &result); err != nil && err != mgo.MongodbNil {
//this.module.Errorln(err) //this.module.Errorln(err)
return return
} }

File diff suppressed because it is too large Load Diff

View File

@ -99,30 +99,94 @@ func (x *DBHunting) GetPs() map[int32]int32 {
return nil return nil
} }
// 狩猎排行榜 // 战斗数据
type DBHuntingRank struct { type DBHuntingRecord struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID
Uinfo *BaseUserInfo `protobuf:"bytes,3,opt,name=uinfo,proto3" json:"uinfo"` //用户基础
Data map[int32]*HuntingData `protobuf:"bytes,4,rep,name=data,proto3" json:"data" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // key boss 类型
}
func (x *DBHuntingRecord) Reset() {
*x = DBHuntingRecord{}
if protoimpl.UnsafeEnabled {
mi := &file_hunting_hunting_db_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBHuntingRecord) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBHuntingRecord) ProtoMessage() {}
func (x *DBHuntingRecord) ProtoReflect() protoreflect.Message {
mi := &file_hunting_hunting_db_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 DBHuntingRecord.ProtoReflect.Descriptor instead.
func (*DBHuntingRecord) Descriptor() ([]byte, []int) {
return file_hunting_hunting_db_proto_rawDescGZIP(), []int{1}
}
func (x *DBHuntingRecord) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *DBHuntingRecord) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *DBHuntingRecord) GetUinfo() *BaseUserInfo {
if x != nil {
return x.Uinfo
}
return nil
}
func (x *DBHuntingRecord) GetData() map[int32]*HuntingData {
if x != nil {
return x.Data
}
return nil
}
type DBHuntingRank struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uinfo *BaseUserInfo `protobuf:"bytes,21,opt,name=uinfo,proto3" json:"uinfo"` //用户基础
Line *LineData `protobuf:"bytes,2,opt,name=line,proto3" json:"line"` // 阵容信息
Difficulty int32 `protobuf:"varint,3,opt,name=difficulty,proto3" json:"difficulty"` // 难度 Difficulty int32 `protobuf:"varint,3,opt,name=difficulty,proto3" json:"difficulty"` // 难度
Bosstype int32 `protobuf:"varint,4,opt,name=bosstype,proto3" json:"bosstype"` // boss类型塔类型 Bosstype int32 `protobuf:"varint,4,opt,name=bosstype,proto3" json:"bosstype"` // boss类型塔类型
Nickname string `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname"` // 昵称 Costtime int32 `protobuf:"varint,5,opt,name=costtime,proto3" json:"costtime"` // 耗时
Skin string `protobuf:"bytes,6,opt,name=skin,proto3" json:"skin"` // 玩家头像
Lv int32 `protobuf:"varint,7,opt,name=lv,proto3" json:"lv"` // 玩家等级
Leadpos int32 `protobuf:"varint,8,opt,name=leadpos,proto3" json:"leadpos"` //队长位置
Line []*LineUp `protobuf:"bytes,9,rep,name=line,proto3" json:"line"` // 阵容数据
CostTime int32 `protobuf:"varint,10,opt,name=costTime,proto3" json:"costTime" bson:"costTime"` //闯关耗时 单位s
Sex int32 `protobuf:"varint,11,opt,name=sex,proto3" json:"sex"`
Title string `protobuf:"bytes,12,opt,name=title,proto3" json:"title"` //
} }
func (x *DBHuntingRank) Reset() { func (x *DBHuntingRank) Reset() {
*x = DBHuntingRank{} *x = DBHuntingRank{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_hunting_hunting_db_proto_msgTypes[1] mi := &file_hunting_hunting_db_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -135,7 +199,7 @@ func (x *DBHuntingRank) String() string {
func (*DBHuntingRank) ProtoMessage() {} func (*DBHuntingRank) ProtoMessage() {}
func (x *DBHuntingRank) ProtoReflect() protoreflect.Message { func (x *DBHuntingRank) ProtoReflect() protoreflect.Message {
mi := &file_hunting_hunting_db_proto_msgTypes[1] mi := &file_hunting_hunting_db_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -148,21 +212,21 @@ func (x *DBHuntingRank) ProtoReflect() protoreflect.Message {
// Deprecated: Use DBHuntingRank.ProtoReflect.Descriptor instead. // Deprecated: Use DBHuntingRank.ProtoReflect.Descriptor instead.
func (*DBHuntingRank) Descriptor() ([]byte, []int) { func (*DBHuntingRank) Descriptor() ([]byte, []int) {
return file_hunting_hunting_db_proto_rawDescGZIP(), []int{1} return file_hunting_hunting_db_proto_rawDescGZIP(), []int{2}
} }
func (x *DBHuntingRank) GetId() string { func (x *DBHuntingRank) GetUinfo() *BaseUserInfo {
if x != nil { if x != nil {
return x.Id return x.Uinfo
} }
return "" return nil
} }
func (x *DBHuntingRank) GetUid() string { func (x *DBHuntingRank) GetLine() *LineData {
if x != nil { if x != nil {
return x.Uid return x.Line
} }
return "" return nil
} }
func (x *DBHuntingRank) GetDifficulty() int32 { func (x *DBHuntingRank) GetDifficulty() int32 {
@ -179,60 +243,74 @@ func (x *DBHuntingRank) GetBosstype() int32 {
return 0 return 0
} }
func (x *DBHuntingRank) GetNickname() string { func (x *DBHuntingRank) GetCosttime() int32 {
if x != nil { if x != nil {
return x.Nickname return x.Costtime
}
return ""
}
func (x *DBHuntingRank) GetSkin() string {
if x != nil {
return x.Skin
}
return ""
}
func (x *DBHuntingRank) GetLv() int32 {
if x != nil {
return x.Lv
} }
return 0 return 0
} }
func (x *DBHuntingRank) GetLeadpos() int32 { type HuntingData struct {
if x != nil { state protoimpl.MessageState
return x.Leadpos sizeCache protoimpl.SizeCache
} unknownFields protoimpl.UnknownFields
return 0
Costime map[int32]int32 `protobuf:"bytes,1,rep,name=costime,proto3" json:"costime" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //key 难度 value 战斗时间
Maxnandu int32 `protobuf:"varint,2,opt,name=maxnandu,proto3" json:"maxnandu"` // 最高难度
Line map[int32]*LineData `protobuf:"bytes,3,rep,name=line,proto3" json:"line" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
} }
func (x *DBHuntingRank) GetLine() []*LineUp { func (x *HuntingData) Reset() {
*x = HuntingData{}
if protoimpl.UnsafeEnabled {
mi := &file_hunting_hunting_db_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HuntingData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HuntingData) ProtoMessage() {}
func (x *HuntingData) ProtoReflect() protoreflect.Message {
mi := &file_hunting_hunting_db_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 HuntingData.ProtoReflect.Descriptor instead.
func (*HuntingData) Descriptor() ([]byte, []int) {
return file_hunting_hunting_db_proto_rawDescGZIP(), []int{3}
}
func (x *HuntingData) GetCostime() map[int32]int32 {
if x != nil { if x != nil {
return x.Line return x.Costime
} }
return nil return nil
} }
func (x *DBHuntingRank) GetCostTime() int32 { func (x *HuntingData) GetMaxnandu() int32 {
if x != nil { if x != nil {
return x.CostTime return x.Maxnandu
} }
return 0 return 0
} }
func (x *DBHuntingRank) GetSex() int32 { func (x *HuntingData) GetLine() map[int32]*LineData {
if x != nil { if x != nil {
return x.Sex return x.Line
} }
return 0 return nil
}
func (x *DBHuntingRank) GetTitle() string {
if x != nil {
return x.Title
}
return ""
} }
var File_hunting_hunting_db_proto protoreflect.FileDescriptor var File_hunting_hunting_db_proto protoreflect.FileDescriptor
@ -241,48 +319,71 @@ var file_hunting_hunting_db_proto_rawDesc = []byte{
0x0a, 0x18, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x0a, 0x18, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e,
0x67, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x62, 0x61, 0x74, 0x74, 0x67, 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, 0x6c, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x22, 0xde, 0x02, 0x0a, 0x09, 0x44, 0x42, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0xde, 0x02, 0x0a, 0x09, 0x44, 0x42, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a,
0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a,
0x75, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x04, 0x62, 0x6f, 0x73, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12,
0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x6f, 0x28, 0x0a, 0x04, 0x62, 0x6f, 0x73, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e,
0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x73, 0x73, 0x12, 0x34, 0x0a, 0x44, 0x42, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x6f, 0x73, 0x73, 0x45, 0x6e,
0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x74, 0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x73, 0x73, 0x12, 0x34, 0x0a, 0x08, 0x62, 0x6f, 0x73,
0x18, 0x2e, 0x44, 0x42, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x6f, 0x73, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42,
0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65,
0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x02, 0x70, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12,
0x12, 0x2e, 0x44, 0x42, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x73, 0x45, 0x6e, 0x22, 0x0a, 0x02, 0x70, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x44, 0x42,
0x74, 0x72, 0x79, 0x52, 0x02, 0x70, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x42, 0x6f, 0x73, 0x73, 0x45, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x02, 0x70, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x42, 0x6f, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d,
0x42, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x35, 0x0a, 0x07, 0x50, 0x73, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x3b, 0x0a, 0x0d, 0x42, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x22, 0xcf, 0x01, 0x0a, 0x0f, 0x44, 0x42, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x35, 0x0a, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x18,
0x07, 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x04, 0x64,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x44, 0x42, 0x48, 0x75,
0x3a, 0x02, 0x38, 0x01, 0x22, 0xa8, 0x02, 0x0a, 0x0d, 0x44, 0x42, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x44, 0x61, 0x74, 0x61,
0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x45, 0x0a, 0x09, 0x44,
0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x48, 0x75, 0x6e, 0x74,
0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x22, 0xab, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
0x52, 0x61, 0x6e, 0x6b, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x15, 0x20,
0x01, 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, 0x1d, 0x0a, 0x04, 0x6c, 0x69, 0x6e,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61,
0x74, 0x61, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66,
0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69,
0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x73, 0x73,
0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73,
0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65,
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65,
0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x22, 0x8a, 0x02, 0x0a, 0x0b, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61,
0x73, 0x6b, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x12, 0x33, 0x0a, 0x07, 0x63, 0x6f, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28,
0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x0b, 0x32, 0x19, 0x2e, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x2e,
0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x1b, 0x43, 0x6f, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x63, 0x6f,
0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x4c, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x6e, 0x61, 0x6e, 0x64,
0x69, 0x6e, 0x65, 0x55, 0x70, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x6e, 0x61, 0x6e, 0x64,
0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x75, 0x12, 0x2a, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x0b, 0x16, 0x2e, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x1a, 0x3a, 0x0a,
0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x0c, 0x43, 0x6f, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x09, 0x4c, 0x69, 0x6e,
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 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, 0x42, 0x06, 0x5a,
0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -297,25 +398,38 @@ func file_hunting_hunting_db_proto_rawDescGZIP() []byte {
return file_hunting_hunting_db_proto_rawDescData return file_hunting_hunting_db_proto_rawDescData
} }
var file_hunting_hunting_db_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_hunting_hunting_db_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
var file_hunting_hunting_db_proto_goTypes = []interface{}{ var file_hunting_hunting_db_proto_goTypes = []interface{}{
(*DBHunting)(nil), // 0: DBHunting (*DBHunting)(nil), // 0: DBHunting
(*DBHuntingRank)(nil), // 1: DBHuntingRank (*DBHuntingRecord)(nil), // 1: DBHuntingRecord
nil, // 2: DBHunting.BossEntry (*DBHuntingRank)(nil), // 2: DBHuntingRank
nil, // 3: DBHunting.BossTimeEntry (*HuntingData)(nil), // 3: HuntingData
nil, // 4: DBHunting.PsEntry nil, // 4: DBHunting.BossEntry
(*LineUp)(nil), // 5: LineUp nil, // 5: DBHunting.BossTimeEntry
nil, // 6: DBHunting.PsEntry
nil, // 7: DBHuntingRecord.DataEntry
nil, // 8: HuntingData.CostimeEntry
nil, // 9: HuntingData.LineEntry
(*BaseUserInfo)(nil), // 10: BaseUserInfo
(*LineData)(nil), // 11: LineData
} }
var file_hunting_hunting_db_proto_depIdxs = []int32{ var file_hunting_hunting_db_proto_depIdxs = []int32{
2, // 0: DBHunting.boss:type_name -> DBHunting.BossEntry 4, // 0: DBHunting.boss:type_name -> DBHunting.BossEntry
3, // 1: DBHunting.bossTime:type_name -> DBHunting.BossTimeEntry 5, // 1: DBHunting.bossTime:type_name -> DBHunting.BossTimeEntry
4, // 2: DBHunting.ps:type_name -> DBHunting.PsEntry 6, // 2: DBHunting.ps:type_name -> DBHunting.PsEntry
5, // 3: DBHuntingRank.line:type_name -> LineUp 10, // 3: DBHuntingRecord.uinfo:type_name -> BaseUserInfo
4, // [4:4] is the sub-list for method output_type 7, // 4: DBHuntingRecord.data:type_name -> DBHuntingRecord.DataEntry
4, // [4:4] is the sub-list for method input_type 10, // 5: DBHuntingRank.uinfo:type_name -> BaseUserInfo
4, // [4:4] is the sub-list for extension type_name 11, // 6: DBHuntingRank.line:type_name -> LineData
4, // [4:4] is the sub-list for extension extendee 8, // 7: HuntingData.costime:type_name -> HuntingData.CostimeEntry
0, // [0:4] is the sub-list for field type_name 9, // 8: HuntingData.line:type_name -> HuntingData.LineEntry
3, // 9: DBHuntingRecord.DataEntry.value:type_name -> HuntingData
11, // 10: HuntingData.LineEntry.value:type_name -> LineData
11, // [11:11] is the sub-list for method output_type
11, // [11:11] is the sub-list for method input_type
11, // [11:11] is the sub-list for extension type_name
11, // [11:11] is the sub-list for extension extendee
0, // [0:11] is the sub-list for field type_name
} }
func init() { file_hunting_hunting_db_proto_init() } func init() { file_hunting_hunting_db_proto_init() }
@ -324,6 +438,7 @@ func file_hunting_hunting_db_proto_init() {
return return
} }
file_battle_battle_msg_proto_init() file_battle_battle_msg_proto_init()
file_comm_proto_init()
if !protoimpl.UnsafeEnabled { if !protoimpl.UnsafeEnabled {
file_hunting_hunting_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { file_hunting_hunting_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBHunting); i { switch v := v.(*DBHunting); i {
@ -338,6 +453,18 @@ func file_hunting_hunting_db_proto_init() {
} }
} }
file_hunting_hunting_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { file_hunting_hunting_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBHuntingRecord); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_hunting_hunting_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBHuntingRank); i { switch v := v.(*DBHuntingRank); i {
case 0: case 0:
return &v.state return &v.state
@ -349,6 +476,18 @@ func file_hunting_hunting_db_proto_init() {
return nil return nil
} }
} }
file_hunting_hunting_db_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HuntingData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
} }
type x struct{} type x struct{}
out := protoimpl.TypeBuilder{ out := protoimpl.TypeBuilder{
@ -356,7 +495,7 @@ func file_hunting_hunting_db_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_hunting_hunting_db_proto_rawDesc, RawDescriptor: file_hunting_hunting_db_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 5, NumMessages: 10,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },

View File

@ -493,7 +493,6 @@ type HuntingRankListReq struct {
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
BoosType int32 `protobuf:"varint,1,opt,name=boosType,proto3" json:"boosType"` // boss 类型 BoosType int32 `protobuf:"varint,1,opt,name=boosType,proto3" json:"boosType"` // boss 类型
Friend bool `protobuf:"varint,2,opt,name=friend,proto3" json:"friend"` // 是否是好友榜
} }
func (x *HuntingRankListReq) Reset() { func (x *HuntingRankListReq) Reset() {
@ -535,19 +534,13 @@ func (x *HuntingRankListReq) GetBoosType() int32 {
return 0 return 0
} }
func (x *HuntingRankListReq) GetFriend() bool {
if x != nil {
return x.Friend
}
return false
}
type HuntingRankListResp struct { type HuntingRankListResp struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Ranks []*DBHuntingRank `protobuf:"bytes,1,rep,name=ranks,proto3" json:"ranks"` // 排行数据 有序的 注意boss类型 Ranks []*DBHuntingRank `protobuf:"bytes,1,rep,name=ranks,proto3" json:"ranks"` // 排行数据 有序的 注意boss类型
Franks []*DBHuntingRank `protobuf:"bytes,2,rep,name=franks,proto3" json:"franks"` // 排行数据 吴序的 注意boss类型
} }
func (x *HuntingRankListResp) Reset() { func (x *HuntingRankListResp) Reset() {
@ -589,6 +582,13 @@ func (x *HuntingRankListResp) GetRanks() []*DBHuntingRank {
return nil return nil
} }
func (x *HuntingRankListResp) GetFranks() []*DBHuntingRank {
if x != nil {
return x.Franks
}
return nil
}
var File_hunting_hunting_msg_proto protoreflect.FileDescriptor var File_hunting_hunting_msg_proto protoreflect.FileDescriptor
var file_hunting_hunting_msg_proto_rawDesc = []byte{ var file_hunting_hunting_msg_proto_rawDesc = []byte{
@ -650,15 +650,16 @@ var file_hunting_hunting_msg_proto_rawDesc = []byte{
0x22, 0x30, 0x0a, 0x0e, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x52, 0x65, 0x22, 0x30, 0x0a, 0x0e, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x52, 0x65,
0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0a, 0x2e, 0x44, 0x42, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x64, 0x61, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x64, 0x61,
0x74, 0x61, 0x22, 0x48, 0x0a, 0x12, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x74, 0x61, 0x22, 0x30, 0x0a, 0x12, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e,
0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x73,
0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x73,
0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x54, 0x79, 0x70, 0x65, 0x22, 0x63, 0x0a, 0x13, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52,
0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22, 0x3b, 0x0a, 0x13, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x05, 0x72,
0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x48,
0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x6b,
0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x73, 0x12, 0x26, 0x0a, 0x06, 0x66, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x6e, 0x6b, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e,
0x6b, 0x52, 0x06, 0x66, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70,
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
@ -704,11 +705,12 @@ var file_hunting_hunting_msg_proto_depIdxs = []int32{
10, // 6: HuntingChallengeOverResp.heroexp:type_name -> HuntingChallengeOverResp.HeroexpEntry 10, // 6: HuntingChallengeOverResp.heroexp:type_name -> HuntingChallengeOverResp.HeroexpEntry
11, // 7: HuntingBuyResp.data:type_name -> DBHunting 11, // 7: HuntingBuyResp.data:type_name -> DBHunting
16, // 8: HuntingRankListResp.ranks:type_name -> DBHuntingRank 16, // 8: HuntingRankListResp.ranks:type_name -> DBHuntingRank
9, // [9:9] is the sub-list for method output_type 16, // 9: HuntingRankListResp.franks:type_name -> DBHuntingRank
9, // [9:9] is the sub-list for method input_type 10, // [10:10] is the sub-list for method output_type
9, // [9:9] is the sub-list for extension type_name 10, // [10:10] is the sub-list for method input_type
9, // [9:9] is the sub-list for extension extendee 10, // [10:10] is the sub-list for extension type_name
0, // [0:9] is the sub-list for field type_name 10, // [10:10] is the sub-list for extension extendee
0, // [0:10] is the sub-list for field type_name
} }
func init() { file_hunting_hunting_msg_proto_init() } func init() { file_hunting_hunting_msg_proto_init() }

View File

@ -187,61 +187,6 @@ func (x *DBIntegralBoss) GetLine() map[int32]*LineData {
return nil return nil
} }
type LineData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Leadpos int32 `protobuf:"varint,1,opt,name=leadpos,proto3" json:"leadpos"` //队长位置
Line []*LineUp `protobuf:"bytes,2,rep,name=line,proto3" json:"line"` // 阵容数据
}
func (x *LineData) Reset() {
*x = LineData{}
if protoimpl.UnsafeEnabled {
mi := &file_integral_integral_db_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LineData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LineData) ProtoMessage() {}
func (x *LineData) ProtoReflect() protoreflect.Message {
mi := &file_integral_integral_db_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 LineData.ProtoReflect.Descriptor instead.
func (*LineData) Descriptor() ([]byte, []int) {
return file_integral_integral_db_proto_rawDescGZIP(), []int{1}
}
func (x *LineData) GetLeadpos() int32 {
if x != nil {
return x.Leadpos
}
return 0
}
func (x *LineData) GetLine() []*LineUp {
if x != nil {
return x.Line
}
return nil
}
// 积分boss 排行 // 积分boss 排行
type DBIntegralRank struct { type DBIntegralRank struct {
state protoimpl.MessageState state protoimpl.MessageState
@ -258,7 +203,7 @@ type DBIntegralRank struct {
func (x *DBIntegralRank) Reset() { func (x *DBIntegralRank) Reset() {
*x = DBIntegralRank{} *x = DBIntegralRank{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_integral_integral_db_proto_msgTypes[2] mi := &file_integral_integral_db_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -271,7 +216,7 @@ func (x *DBIntegralRank) String() string {
func (*DBIntegralRank) ProtoMessage() {} func (*DBIntegralRank) ProtoMessage() {}
func (x *DBIntegralRank) ProtoReflect() protoreflect.Message { func (x *DBIntegralRank) ProtoReflect() protoreflect.Message {
mi := &file_integral_integral_db_proto_msgTypes[2] mi := &file_integral_integral_db_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -284,7 +229,7 @@ func (x *DBIntegralRank) ProtoReflect() protoreflect.Message {
// Deprecated: Use DBIntegralRank.ProtoReflect.Descriptor instead. // Deprecated: Use DBIntegralRank.ProtoReflect.Descriptor instead.
func (*DBIntegralRank) Descriptor() ([]byte, []int) { func (*DBIntegralRank) Descriptor() ([]byte, []int) {
return file_integral_integral_db_proto_rawDescGZIP(), []int{2} return file_integral_integral_db_proto_rawDescGZIP(), []int{1}
} }
func (x *DBIntegralRank) GetId() string { func (x *DBIntegralRank) GetId() string {
@ -370,21 +315,17 @@ var file_integral_integral_db_proto_rawDesc = []byte{
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 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, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x22, 0x41, 0x0a, 0x08, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x38, 0x01, 0x22, 0x90, 0x01, 0x0a, 0x0e, 0x44, 0x42, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61,
0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x6c, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x1b, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02,
0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x55, 0x70, 0x52, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49,
0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x90, 0x01, 0x0a, 0x0e, 0x44, 0x42, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61,
0x67, 0x72, 0x61, 0x6c, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x6e, 0x64, 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6e, 0x61, 0x6e, 0x64, 0x75,
0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05,
0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52,
0x05, 0x6e, 0x61, 0x6e, 0x64, 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6e, 0x61, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70,
0x6e, 0x64, 0x75, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x04, 0x6c, 0x69, 0x6e,
0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61,
0x74, 0x61, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -399,31 +340,29 @@ func file_integral_integral_db_proto_rawDescGZIP() []byte {
return file_integral_integral_db_proto_rawDescData return file_integral_integral_db_proto_rawDescData
} }
var file_integral_integral_db_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_integral_integral_db_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_integral_integral_db_proto_goTypes = []interface{}{ var file_integral_integral_db_proto_goTypes = []interface{}{
(*DBIntegralBoss)(nil), // 0: DBIntegralBoss (*DBIntegralBoss)(nil), // 0: DBIntegralBoss
(*LineData)(nil), // 1: LineData (*DBIntegralRank)(nil), // 1: DBIntegralRank
(*DBIntegralRank)(nil), // 2: DBIntegralRank nil, // 2: DBIntegralBoss.BuffEntry
nil, // 3: DBIntegralBoss.BuffEntry nil, // 3: DBIntegralBoss.ScoreEntry
nil, // 4: DBIntegralBoss.ScoreEntry nil, // 4: DBIntegralBoss.LineEntry
nil, // 5: DBIntegralBoss.LineEntry (*BaseUserInfo)(nil), // 5: BaseUserInfo
(*BaseUserInfo)(nil), // 6: BaseUserInfo (*LineData)(nil), // 6: LineData
(*LineUp)(nil), // 7: LineUp
} }
var file_integral_integral_db_proto_depIdxs = []int32{ var file_integral_integral_db_proto_depIdxs = []int32{
3, // 0: DBIntegralBoss.buff:type_name -> DBIntegralBoss.BuffEntry 2, // 0: DBIntegralBoss.buff:type_name -> DBIntegralBoss.BuffEntry
4, // 1: DBIntegralBoss.score:type_name -> DBIntegralBoss.ScoreEntry 3, // 1: DBIntegralBoss.score:type_name -> DBIntegralBoss.ScoreEntry
6, // 2: DBIntegralBoss.uinfo:type_name -> BaseUserInfo 5, // 2: DBIntegralBoss.uinfo:type_name -> BaseUserInfo
5, // 3: DBIntegralBoss.line:type_name -> DBIntegralBoss.LineEntry 4, // 3: DBIntegralBoss.line:type_name -> DBIntegralBoss.LineEntry
7, // 4: LineData.line:type_name -> LineUp 5, // 4: DBIntegralRank.uinfo:type_name -> BaseUserInfo
6, // 5: DBIntegralRank.uinfo:type_name -> BaseUserInfo 6, // 5: DBIntegralRank.line:type_name -> LineData
1, // 6: DBIntegralRank.line:type_name -> LineData 6, // 6: DBIntegralBoss.LineEntry.value:type_name -> LineData
1, // 7: DBIntegralBoss.LineEntry.value:type_name -> LineData 7, // [7:7] is the sub-list for method output_type
8, // [8:8] is the sub-list for method output_type 7, // [7:7] is the sub-list for method input_type
8, // [8:8] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name
8, // [8:8] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension extendee
8, // [8:8] is the sub-list for extension extendee 0, // [0:7] is the sub-list for field type_name
0, // [0:8] is the sub-list for field type_name
} }
func init() { file_integral_integral_db_proto_init() } func init() { file_integral_integral_db_proto_init() }
@ -447,18 +386,6 @@ func file_integral_integral_db_proto_init() {
} }
} }
file_integral_integral_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { file_integral_integral_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LineData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_integral_integral_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBIntegralRank); i { switch v := v.(*DBIntegralRank); i {
case 0: case 0:
return &v.state return &v.state
@ -477,7 +404,7 @@ func file_integral_integral_db_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_integral_integral_db_proto_rawDesc, RawDescriptor: file_integral_integral_db_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 6, NumMessages: 5,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },

View File

@ -548,118 +548,118 @@ var File_viking_viking_db_proto protoreflect.FileDescriptor
var file_viking_viking_db_proto_rawDesc = []byte{ var file_viking_viking_db_proto_rawDesc = []byte{
0x0a, 0x16, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x0a, 0x16, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x5f,
0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x2f, 0x69, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x2f, 0x62, 0x61, 0x74,
0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x74, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc0, 0x03,
0x22, 0xc0, 0x03, 0x0a, 0x08, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x0a, 0x08, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69,
0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x04,
0x27, 0x0a, 0x04, 0x62, 0x6f, 0x73, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x6f, 0x73, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x44, 0x42, 0x56,
0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x6f, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x6f, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x04, 0x62, 0x6f, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d,
0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x44, 0x42, 0x56, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69,
0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x6e, 0x67, 0x2e, 0x42, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x74, 0x72, 0x79, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x02, 0x70, 0x73,
0x02, 0x70, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e,
0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x02, 0x70, 0x73, 0x67, 0x2e, 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x02, 0x70, 0x73, 0x12, 0x2a, 0x0a,
0x12, 0x2a, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44,
0x14, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x6e, 0x74,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x37, 0x0a, 0x09, 0x72, 0x79, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x37, 0x0a, 0x09, 0x42, 0x6f, 0x73,
0x42, 0x6f, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x42, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d,
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x35, 0x0a, 0x07, 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x42, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x6e, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x35, 0x0a, 0x07, 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x02, 0x38, 0x01, 0x22, 0xcb, 0x01, 0x0a, 0x0e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x22, 0xcb, 0x01, 0x0a, 0x0e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63,
0x6f, 0x72, 0x64, 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, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03,
0x20, 0x01, 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, 0x2d, 0x0a, 0x04, 0x64, 0x61,
0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b,
0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x43, 0x0a, 0x09, 0x44, 0x61, 0x74,
0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x44,
0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xaa,
0x01, 0x0a, 0x0c, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x12,
0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x15, 0x20, 0x01, 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, 0x1d, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c,
0x69, 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74,
0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75,
0x6c, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x12,
0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
0x05, 0x52, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x84, 0x02, 0x0a, 0x09,
0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x07, 0x63, 0x6f, 0x73,
0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x53, 0x63, 0x6f,
0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08,
0x6d, 0x61, 0x78, 0x6e, 0x61, 0x6e, 0x64, 0x75, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
0x6d, 0x61, 0x78, 0x6e, 0x61, 0x6e, 0x64, 0x75, 0x12, 0x28, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65,
0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6c, 0x69,
0x6e, 0x65, 0x1a, 0x3a, 0x0a, 0x0c, 0x43, 0x6f, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42,
0x0a, 0x09, 0x4c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 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, 0xcd, 0x01, 0x0a, 0x0f, 0x44, 0x42, 0x56, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e,
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 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, 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, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66,
0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x6f, 0x18, 0x03, 0x20, 0x01, 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, 0x2d, 0x0a, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a,
0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x44, 0x42, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x44, 0x42,
0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x44, 0x61, 0x74, 0x56, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x44, 0x61,
0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x43, 0x0a, 0x09, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x43, 0x0a,
0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, 0x76, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x05,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x53, 0x63, 0x6f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x48, 0x75,
0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x69, 0x68, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x01, 0x22, 0xaa, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x38, 0x01, 0x22, 0xfc, 0x01, 0x0a, 0x09, 0x48, 0x75, 0x69, 0x68, 0x65, 0x44, 0x61, 0x74, 0x61,
0x6e, 0x6b, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x15, 0x20, 0x01, 0x28, 0x12, 0x2b, 0x0a, 0x05, 0x68, 0x75, 0x69, 0x68, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x15, 0x2e, 0x48, 0x75, 0x69, 0x68, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x48, 0x75, 0x69, 0x68,
0x52, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x68, 0x75, 0x69, 0x68, 0x65, 0x12, 0x1a, 0x0a,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x08, 0x6d, 0x61, 0x78, 0x6e, 0x61, 0x6e, 0x64, 0x75, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x08, 0x6d, 0x61, 0x78, 0x6e, 0x61, 0x6e, 0x64, 0x75, 0x12, 0x28, 0x0a, 0x04, 0x6c, 0x69, 0x6e,
0x75, 0x6c, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x48, 0x75, 0x69, 0x68, 0x65, 0x44,
0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x74, 0x79, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6c,
0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x74, 0x79, 0x69, 0x6e, 0x65, 0x1a, 0x38, 0x0a, 0x0a, 0x48, 0x75, 0x69, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72,
0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x84, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x02, 0x0a, 0x09, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x07, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a,
0x63, 0x6f, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x09, 0x4c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x69, 0x6d, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05,
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69,
0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x6e, 0x61, 0x6e, 0x64, 0x75, 0x18, 0x02, 0x20, 0x01, 0x28, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x6e, 0x61, 0x6e, 0x64, 0x75, 0x12, 0x28, 0x0a, 0x04, 0x6c, 0x01, 0x22, 0xb5, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x52,
0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01,
0x04, 0x6c, 0x69, 0x6e, 0x65, 0x1a, 0x3a, 0x0a, 0x0c, 0x43, 0x6f, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x6f, 0x52, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65,
0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x61, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69,
0x01, 0x1a, 0x42, 0x0a, 0x09, 0x4c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x66,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x74,
0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x74,
0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x75, 0x69, 0x68, 0x65, 0x18, 0x06, 0x20, 0x01,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xcd, 0x01, 0x0a, 0x0f, 0x44, 0x42, 0x56, 0x53, 0x65, 0x61, 0x28, 0x05, 0x52, 0x05, 0x68, 0x75, 0x69, 0x68, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70,
0x73, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
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, 0x23, 0x0a, 0x05, 0x75,
0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 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, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x44, 0x42, 0x56, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
0x1a, 0x43, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a,
0x2e, 0x48, 0x75, 0x69, 0x68, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xfc, 0x01, 0x0a, 0x09, 0x48, 0x75, 0x69, 0x68, 0x65, 0x44,
0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x05, 0x68, 0x75, 0x69, 0x68, 0x65, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x15, 0x2e, 0x48, 0x75, 0x69, 0x68, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x48,
0x75, 0x69, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x68, 0x75, 0x69, 0x68, 0x65,
0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x6e, 0x61, 0x6e, 0x64, 0x75, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x6e, 0x61, 0x6e, 0x64, 0x75, 0x12, 0x28, 0x0a, 0x04,
0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x48, 0x75, 0x69,
0x68, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x1a, 0x38, 0x0a, 0x0a, 0x48, 0x75, 0x69, 0x68, 0x65, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x42, 0x0a, 0x09, 0x4c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 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, 0xb5, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e,
0x67, 0x53, 0x52, 0x61, 0x6e, 0x6b, 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, 0x01, 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, 0x1d, 0x0a, 0x04, 0x6c,
0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65,
0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69,
0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f,
0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x6f,
0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x75, 0x69, 0x68, 0x65, 0x18,
0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x68, 0x75, 0x69, 0x68, 0x65, 0x42, 0x06, 0x5a, 0x04,
0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -730,7 +730,7 @@ func file_viking_viking_db_proto_init() {
return return
} }
file_comm_proto_init() file_comm_proto_init()
file_integral_integral_db_proto_init() file_battle_battle_msg_proto_init()
if !protoimpl.UnsafeEnabled { if !protoimpl.UnsafeEnabled {
file_viking_viking_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { file_viking_viking_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBViking); i { switch v := v.(*DBViking); i {