跨服排行数据结构整理优化 减少io查询
This commit is contained in:
parent
7fdfc0f0b0
commit
5771cde844
@ -45,7 +45,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.IntegralChalle
|
||||
return
|
||||
}
|
||||
// 校验门票 最大值等配置
|
||||
if list.Count >= 3 {
|
||||
if list.Count >= this.module.ModuleTools.GetGlobalConf().IntegralBossChallengeNum {
|
||||
errdata = &pb.ErrorData{ // 不能挑战了
|
||||
Code: pb.ErrorCode_TntegralDayMaxChallenge,
|
||||
Title: pb.ErrorCode_TntegralDayMaxChallenge.ToString(),
|
||||
|
@ -116,7 +116,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal
|
||||
if viking.BossTime[key] == 0 || viking.BossTime[key] > req.Report.Costtime {
|
||||
viking.BossTime[key] = req.Report.Costtime
|
||||
mapData["bossTime"] = viking.BossTime // 更新时间
|
||||
this.module.CheckRank(session.GetUserId(), req.BossId, req.Difficulty, req.Report)
|
||||
//this.module.CheckRank(session.GetUserId(), req.BossId, req.Difficulty, req.Report)
|
||||
}
|
||||
|
||||
if req.Auto == 1 {
|
||||
@ -127,29 +127,31 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal
|
||||
viking.Round[req.Auto] = req.Report.Round
|
||||
mapData["round"] = viking.Round
|
||||
}
|
||||
// 连续自动战斗
|
||||
if len(viking.Round) == 10 {
|
||||
var total int32
|
||||
for _, v := range viking.Round {
|
||||
total += v
|
||||
}
|
||||
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,
|
||||
})
|
||||
}
|
||||
var total int32
|
||||
for _, v := range viking.Round {
|
||||
total += v
|
||||
}
|
||||
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,
|
||||
})
|
||||
}
|
||||
}
|
||||
this.module.CheckSeasonRank(session.GetUserId(), req.BossId, req.Difficulty, Leadpos, szLine, total)
|
||||
}
|
||||
|
||||
go func() {
|
||||
this.module.modulerank.CheckRank(session.GetUserId(), req.BossId, req.Difficulty, Leadpos, szLine, req.Report.Costtime)
|
||||
// 连续自动战斗
|
||||
if len(viking.Round) == 10 {
|
||||
this.module.modelsrank.CheckSeasonRank(session.GetUserId(), req.BossId, req.Difficulty, Leadpos, szLine, total)
|
||||
}
|
||||
}()
|
||||
reward = this.module.ModuleTools.GetGroupDataByLottery(vikingCfg.Drop, user.Vip, user.Lv)
|
||||
|
||||
b := this.module.ModuleActivity.HDCelebration(session, 2, req.BossId)
|
||||
@ -218,7 +220,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal
|
||||
var tasks []*pb.BuriedParam
|
||||
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype73, 1, req.BossId, req.Difficulty))
|
||||
//szTask = append(szTask, comm.GetBuriedParam(comm.Rtype74, req.BossId, req.Difficulty))
|
||||
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype78, req.BossId, req.Report.Costtime/1000, req.Difficulty))
|
||||
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype78, req.BossId, req.Report.Costtime, req.Difficulty))
|
||||
|
||||
if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 {
|
||||
for _, v := range req.Report.Info.Redflist[0].Team {
|
||||
|
@ -1,14 +1,8 @@
|
||||
package viking
|
||||
|
||||
import (
|
||||
"context"
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/sys/redis/pipe"
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/sys/db"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-redis/redis/v8"
|
||||
)
|
||||
|
||||
//参数校验
|
||||
@ -24,44 +18,44 @@ func (this *apiComp) RankListCheck(session comm.IUserSession, req *pb.VikingRank
|
||||
|
||||
func (this *apiComp) RankList(session comm.IUserSession, req *pb.VikingRankListReq) (errdata *pb.ErrorData) {
|
||||
var (
|
||||
szRank []*pb.DBVikingRank
|
||||
rd *redis.StringSliceCmd
|
||||
fRank []*pb.DBVikingRank
|
||||
uids []string
|
||||
err error
|
||||
ranks []*pb.DBVikingRecord
|
||||
players []*pb.DBVikingRank
|
||||
)
|
||||
if errdata = this.RankListCheck(session, req); errdata != nil {
|
||||
return // 参数校验失败直接返回
|
||||
}
|
||||
conn, _ := db.Local()
|
||||
|
||||
dbModel := db.NewDBModelByExpired(comm.TableVikingRank, conn)
|
||||
if !req.Friend {
|
||||
var (
|
||||
pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO())
|
||||
)
|
||||
rd = pipe.ZRevRange("vikingRank"+strconv.Itoa(int(req.BoosType)), 0, comm.MaxRankList)
|
||||
|
||||
if _, err := pipe.Exec(); err != nil {
|
||||
this.module.Errorln(err)
|
||||
return
|
||||
if uids, err = this.module.modulerank.querySRankUser(int(req.BoosType)); err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
Title: pb.ErrorCode_DBError.ToString(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
_dataList := rd.Val()
|
||||
for _, v := range _dataList {
|
||||
result := &pb.DBVikingRank{}
|
||||
|
||||
if err := dbModel.Redis.HGetAll(v, result); err == nil {
|
||||
szRank = append(szRank, result)
|
||||
}
|
||||
return
|
||||
}
|
||||
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(),
|
||||
}
|
||||
|
||||
} else {
|
||||
uids := this.friend.GetFriendList(session.GetUserId())
|
||||
for _, id := range uids {
|
||||
rankData := this.module.modulerank.getVikingRankListByBossType(id, req.BoosType)
|
||||
if rankData != nil {
|
||||
szRank = append(szRank, rankData)
|
||||
}
|
||||
return
|
||||
}
|
||||
players = make([]*pb.DBVikingRank, len(ranks))
|
||||
for i, v := range ranks {
|
||||
players[i] = &pb.DBVikingRank{
|
||||
Uinfo: v.Uinfo,
|
||||
Line: v.Line,
|
||||
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{Ranks: szRank})
|
||||
session.SendMsg(string(this.module.GetType()), VikingRankListResp, &pb.VikingRankListResp{
|
||||
Ranks: players,
|
||||
Franks: fRank,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
@ -1,14 +1,9 @@
|
||||
package viking
|
||||
|
||||
import (
|
||||
"context"
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/sys/redis/pipe"
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/sys/db"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-redis/redis/v8"
|
||||
)
|
||||
|
||||
//参数校验
|
||||
@ -24,57 +19,57 @@ func (this *apiComp) SeasonRankCheck(session comm.IUserSession, req *pb.VikingSe
|
||||
|
||||
func (this *apiComp) SeasonRank(session comm.IUserSession, req *pb.VikingSeasonRankReq) (errdata *pb.ErrorData) {
|
||||
var (
|
||||
szRank []*pb.DBVSeasonRank
|
||||
rd *redis.StringSliceCmd
|
||||
conn *db.DBConn
|
||||
pipe *pipe.RedisPipe
|
||||
err error
|
||||
endSeasonTime int64
|
||||
bCross bool // 是否是跨服
|
||||
uids []string
|
||||
err error
|
||||
ranks []*pb.DBVSeasonRecord
|
||||
players []*pb.DBVikingSRank
|
||||
)
|
||||
if errdata = this.SeasonRankCheck(session, req); errdata != nil {
|
||||
return // 参数校验失败直接返回
|
||||
}
|
||||
if bCross, endSeasonTime = this.module.CheckCurSeasonData(); bCross {
|
||||
conn, err = db.Local()
|
||||
var (
|
||||
conn_ *db.DBConn
|
||||
)
|
||||
if bcross, _ := this.module.CheckCurSeasonData(); bcross {
|
||||
conn_, err = db.Local() // 获取跨服数据库对象
|
||||
if err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
} else {
|
||||
conn, _ = db.Cross()
|
||||
} else { //数据记录在本服
|
||||
conn_, err = db.Cross()
|
||||
if err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
dbModel := db.NewDBModelByExpired(comm.TableVikingSRank, conn)
|
||||
|
||||
pipe = conn.Redis.RedisPipe(context.TODO())
|
||||
rd = pipe.ZRevRange("vSeasonRank"+strconv.Itoa(int(req.BoosType)), 0, comm.MaxRankList)
|
||||
|
||||
if _, err := pipe.Exec(); err != nil {
|
||||
this.module.Errorln(err)
|
||||
if uids, err = this.module.modelsrank.querySRankUser(int(req.BoosType), conn_); err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
Title: pb.ErrorCode_DBError.ToString(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
_dataList := rd.Val()
|
||||
for _, v := range _dataList {
|
||||
result := &pb.DBVSeasonRank{}
|
||||
if err := dbModel.Redis.HGetAll(v, result); err == nil {
|
||||
szRank = append(szRank, result)
|
||||
if ranks, err = this.module.modelsrank.queryPlayers(uids, conn_); err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
Title: pb.ErrorCode_DBError.ToString(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
players = make([]*pb.DBVikingSRank, len(ranks))
|
||||
for i, v := range ranks {
|
||||
players[i] = &pb.DBVikingSRank{
|
||||
Uinfo: v.Uinfo,
|
||||
Line: v.Line,
|
||||
Difficulty: v.Data[req.BoosType].Maxnandu,
|
||||
Bosstype: req.BoosType,
|
||||
Huihe: v.Data[req.BoosType].Huihe[v.Data[req.BoosType].Maxnandu],
|
||||
}
|
||||
}
|
||||
|
||||
session.SendMsg(string(this.module.GetType()), VikingSeasonRankReq, &pb.VikingSeasonRankResp{
|
||||
Ranks: szRank,
|
||||
Etime: endSeasonTime,
|
||||
Ranks: players,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
@ -1,18 +1,25 @@
|
||||
package viking
|
||||
|
||||
import (
|
||||
"context"
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/lego/sys/mgo"
|
||||
"go_dreamfactory/lego/sys/redis/pipe"
|
||||
"go_dreamfactory/modules"
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/sys/db"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-redis/redis/v8"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"go.mongodb.org/mongo-driver/mongo"
|
||||
"go.mongodb.org/mongo-driver/x/bsonx"
|
||||
)
|
||||
|
||||
type ModelRank struct {
|
||||
modules.MCompModel
|
||||
|
||||
moduleViking *Viking
|
||||
}
|
||||
|
||||
@ -28,45 +35,143 @@ func (this *ModelRank) Init(service core.IService, module core.IModule, comp cor
|
||||
}
|
||||
|
||||
// 获取排行榜数据
|
||||
func (this *ModelRank) getVikingRankList(uid string) []*pb.DBVikingRank {
|
||||
ranks := make([]*pb.DBVikingRank, 0)
|
||||
err := this.GetList(uid, &ranks)
|
||||
func (this *ModelRank) getVikingRank(uid string) *pb.DBVikingRecord {
|
||||
data := &pb.DBVikingRecord{}
|
||||
if !db.IsCross() {
|
||||
if conn_, err := db.Cross(); err == nil {
|
||||
model := db.NewDBModelByExpired(comm.TableVikingRank, 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 (
|
||||
result []string
|
||||
)
|
||||
|
||||
tableName := this.TableName + strconv.Itoa(int(bossid))
|
||||
if result, err = this.Redis.ZRevRange(tableName, 0, 50).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.DBVikingRecord, err error) {
|
||||
result = make([]*pb.DBVikingRecord, 0)
|
||||
if _, err = this.Gets(uIds, &result); err != nil && err != mgo.MongodbNil {
|
||||
//this.module.Errorln(err)
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 记录数据存在跨服
|
||||
func (this *ModelRank) CheckRank(uid string, boosID int32, difficulty int32, leadpos int32, szLine []*pb.LineUp, costTime int32) {
|
||||
conn_, err := db.Cross() // 获取跨服数据库对象
|
||||
if err != nil {
|
||||
return nil
|
||||
return
|
||||
}
|
||||
return ranks
|
||||
}
|
||||
user, err := this.moduleViking.ModuleUser.GetUser(uid)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
model := db.NewDBModelByExpired(comm.TableVikingRank, conn_)
|
||||
|
||||
func (this *ModelRank) getVikingRankListByBossType(uid string, bossType int32) *pb.DBVikingRank {
|
||||
// 写入排行榜
|
||||
|
||||
if db.IsCross() {
|
||||
ranks := make([]*pb.DBVikingRank, 0)
|
||||
err := this.GetList(uid, &ranks)
|
||||
if err != nil {
|
||||
return nil
|
||||
record := &pb.DBVikingRecord{}
|
||||
if err = model.Get(uid, record); err == mgo.MongodbNil {
|
||||
record.Id = primitive.NewObjectID().Hex()
|
||||
record.Data = make(map[int32]*pb.ScoreData, 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,
|
||||
}
|
||||
for _, v := range ranks {
|
||||
if v.Bosstype == bossType {
|
||||
return v
|
||||
record.Line = &pb.LineData{
|
||||
Leadpos: leadpos,
|
||||
Line: szLine,
|
||||
}
|
||||
tmp := make(map[int32]int32, 0)
|
||||
tmp[difficulty] = costTime
|
||||
|
||||
if record.Data[boosID] == nil {
|
||||
record.Data[boosID] = &pb.ScoreData{
|
||||
Costime: tmp,
|
||||
Maxnandu: difficulty,
|
||||
}
|
||||
} else {
|
||||
if record.Data[boosID].Maxnandu < difficulty {
|
||||
record.Data[boosID].Maxnandu = difficulty
|
||||
}
|
||||
}
|
||||
} else {
|
||||
conn, err := db.Cross()
|
||||
if err != nil {
|
||||
return nil
|
||||
|
||||
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,
|
||||
}
|
||||
model := db.NewDBModelByExpired(comm.TableVikingRank, conn)
|
||||
ranks := make([]*pb.DBVikingRank, 0)
|
||||
err = model.GetList(uid, &ranks)
|
||||
if err != nil {
|
||||
return nil
|
||||
update := make(map[string]interface{}, 0)
|
||||
update["uinfo"] = record.Uinfo
|
||||
if record.Data[boosID] == nil {
|
||||
record.Data[boosID].Costime = make(map[int32]int32, 0)
|
||||
}
|
||||
for _, v := range ranks {
|
||||
if v.Bosstype == bossType {
|
||||
return v
|
||||
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
|
||||
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}
|
||||
|
||||
return nil
|
||||
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
|
||||
}
|
||||
}
|
||||
|
234
modules/viking/model_srank.go
Normal file
234
modules/viking/model_srank.go
Normal file
@ -0,0 +1,234 @@
|
||||
package viking
|
||||
|
||||
import (
|
||||
"context"
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/lego/sys/mgo"
|
||||
"go_dreamfactory/lego/sys/redis/pipe"
|
||||
"go_dreamfactory/modules"
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/sys/configure"
|
||||
"go_dreamfactory/sys/db"
|
||||
"go_dreamfactory/utils"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-redis/redis/v8"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"go.mongodb.org/mongo-driver/mongo"
|
||||
"go.mongodb.org/mongo-driver/x/bsonx"
|
||||
)
|
||||
|
||||
type ModelSRank struct {
|
||||
modules.MCompModel
|
||||
moduleViking *Viking
|
||||
}
|
||||
|
||||
func (this *ModelSRank) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||
this.TableName = comm.TableVikingSRank
|
||||
err = this.MCompModel.Init(service, module, comp, options)
|
||||
this.moduleViking = module.(*Viking)
|
||||
//创建uid索引
|
||||
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
|
||||
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
func (this *ModelSRank) queryPlayers(uIds []string, conn_ *db.DBConn) (result []*pb.DBVSeasonRecord, err error) {
|
||||
result = make([]*pb.DBVSeasonRecord, 0)
|
||||
model := db.NewDBModelByExpired(comm.TableVikingSRank, conn_)
|
||||
if _, err = model.Gets(uIds, &result); err != nil && err != mgo.MongodbNil {
|
||||
//this.module.Errorln(err)
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
func (this *ModelSRank) CheckCurSeasonData() (bLocal bool, endSeasonTime int64) {
|
||||
var subTime int64
|
||||
var oneSeason int64
|
||||
openTime := this.moduleViking.service.GetOpentime().Unix()
|
||||
// 获取第一个赛季结束的时间
|
||||
oneSeason = utils.GetTodayZeroTime(openTime) //+ int64((6-d)*3600*24)
|
||||
|
||||
var c int32
|
||||
if Continued%Cycle == 0 {
|
||||
c = Continued / Cycle
|
||||
} else {
|
||||
c = Continued/Cycle + 1
|
||||
}
|
||||
|
||||
if configure.Now().Unix() > oneSeason {
|
||||
subTime = configure.Now().Unix() - oneSeason
|
||||
subTime = subTime/(14*3600*24) + 1
|
||||
}
|
||||
// 只需判断当前时间是否大于第c个赛季即可
|
||||
endSeasonTime = oneSeason
|
||||
endSeasonTime += 14 * 3600 * 24 * int64(c)
|
||||
if endSeasonTime <= configure.Now().Unix() {
|
||||
endSeasonTime = oneSeason + subTime*14*3600*24
|
||||
return false, endSeasonTime
|
||||
}
|
||||
endSeasonTime = oneSeason + subTime*14*3600*24
|
||||
return true, endSeasonTime
|
||||
}
|
||||
|
||||
// 检查上一个赛季实在本服还是在跨服
|
||||
func (this *ModelSRank) CheckPreSeasonData() (bLocal bool) {
|
||||
openTime := this.moduleViking.service.GetOpentime().Unix()
|
||||
// 获取第一个赛季结束的时间
|
||||
endSeasonTime := utils.GetTodayZeroTime(openTime) //+ int64((6-d)*3600*24)
|
||||
|
||||
var c int32
|
||||
if Continued%Cycle == 0 {
|
||||
c = Continued / Cycle
|
||||
} else {
|
||||
c = Continued/Cycle + 1
|
||||
}
|
||||
|
||||
// 只需判断当前时间是否大于第c个赛季即可
|
||||
endSeasonTime += 3600 * 24 * int64(Cycle*c)
|
||||
if endSeasonTime <= configure.Now().Unix()-int64(Cycle*3600*24) {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
// 记录数据存在跨服
|
||||
func (this *ModelSRank) CheckSeasonRank(uid string, boosID int32, difficulty int32, leadpos int32, szLine []*pb.LineUp, huihe int32) {
|
||||
var (
|
||||
conn_ *db.DBConn
|
||||
err error
|
||||
bcross bool
|
||||
record *pb.DBVSeasonRecord
|
||||
update map[string]interface{}
|
||||
)
|
||||
update = make(map[string]interface{}, 0)
|
||||
bcross, _ = this.CheckCurSeasonData()
|
||||
|
||||
if bcross {
|
||||
conn_, err = db.Local() // 获取跨服数据库对象
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
} else { //数据记录在本服
|
||||
conn_, err = db.Cross()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
user, err := this.moduleViking.ModuleUser.GetUser(uid)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
model := db.NewDBModelByExpired(comm.TableVikingSRank, conn_)
|
||||
|
||||
// 写入排行榜
|
||||
record = &pb.DBVSeasonRecord{
|
||||
Id: "",
|
||||
Uinfo: &pb.BaseUserInfo{},
|
||||
Data: map[int32]*pb.HuiheData{},
|
||||
Line: &pb.LineData{},
|
||||
}
|
||||
if err = model.Get(uid, record); err == mgo.MongodbNil {
|
||||
record.Id = primitive.NewObjectID().Hex()
|
||||
record.Uid = uid
|
||||
record.Data = make(map[int32]*pb.HuiheData, 0)
|
||||
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,
|
||||
}
|
||||
record.Line = &pb.LineData{
|
||||
Leadpos: leadpos,
|
||||
Line: szLine,
|
||||
}
|
||||
tmp := make(map[int32]int32, 0)
|
||||
tmp[difficulty] = huihe
|
||||
|
||||
if record.Data[boosID] == nil {
|
||||
record.Data[boosID] = &pb.HuiheData{
|
||||
Huihe: tmp,
|
||||
Maxnandu: difficulty,
|
||||
}
|
||||
} 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["uinfo"] = record.Uinfo
|
||||
if record.Data[boosID] == nil {
|
||||
record.Data[boosID].Huihe = make(map[int32]int32, 0)
|
||||
}
|
||||
if record.Data[boosID].Maxnandu < difficulty {
|
||||
record.Data[boosID].Maxnandu = difficulty
|
||||
} else {
|
||||
if record.Data[boosID].Huihe[difficulty] > huihe { // 不是新记录不写
|
||||
return
|
||||
}
|
||||
}
|
||||
record.Data[boosID].Huihe[difficulty] = huihe
|
||||
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 + huihe
|
||||
tableName = this.TableName + strconv.Itoa(int(boosID))
|
||||
menbers = &redis.Z{Score: float64(score), Member: uid}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
// 获取排行榜前50的用户名单
|
||||
func (this *ModelSRank) querySRankUser(bossid int, conn_ *db.DBConn) (ranks []string, err error) {
|
||||
var (
|
||||
result []string
|
||||
)
|
||||
|
||||
tableName := this.TableName + strconv.Itoa(int(bossid))
|
||||
if result, err = conn_.Redis.ZRevRange(tableName, 0, 50).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
|
||||
}
|
@ -6,22 +6,14 @@
|
||||
package viking
|
||||
|
||||
import (
|
||||
"context"
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/base"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/lego/sys/redis/pipe"
|
||||
"go_dreamfactory/utils"
|
||||
|
||||
"go_dreamfactory/modules"
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/sys/configure"
|
||||
"go_dreamfactory/sys/db"
|
||||
"math"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-redis/redis/v8"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
)
|
||||
|
||||
type Viking struct {
|
||||
@ -32,6 +24,7 @@ type Viking struct {
|
||||
modulerank *ModelRank
|
||||
battle comm.IBattle
|
||||
service base.IRPCXService
|
||||
modelsrank *ModelSRank
|
||||
}
|
||||
|
||||
const (
|
||||
@ -60,6 +53,7 @@ func (this *Viking) OnInstallComp() {
|
||||
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
|
||||
this.modelViking = this.RegisterComp(new(modelViking)).(*modelViking)
|
||||
this.modulerank = this.RegisterComp(new(ModelRank)).(*ModelRank)
|
||||
this.modelsrank = this.RegisterComp(new(ModelSRank)).(*ModelSRank)
|
||||
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
|
||||
}
|
||||
|
||||
@ -90,112 +84,24 @@ func (this *Viking) Start() (err error) {
|
||||
}
|
||||
|
||||
func (this *Viking) CheckUserBaseVikingInfo(uid string) (data []*pb.DBVikingRank) {
|
||||
list, err := this.modelViking.getVikingList(uid)
|
||||
if err == nil {
|
||||
for k := range list.Boss {
|
||||
|
||||
if d := this.modulerank.getVikingRank(uid); d.Id != "" {
|
||||
for k, v := range d.Data {
|
||||
if k <= 3 {
|
||||
_d := this.modulerank.getVikingRankListByBossType(uid, k)
|
||||
if _d != nil {
|
||||
data = append(data, _d)
|
||||
}
|
||||
|
||||
data = append(data, &pb.DBVikingRank{
|
||||
Uinfo: d.Uinfo,
|
||||
Line: d.Line,
|
||||
Difficulty: v.Maxnandu,
|
||||
Bosstype: k,
|
||||
Costtime: v.Costime[v.Maxnandu],
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 记录数据存在跨服
|
||||
func (this *Viking) CheckRank(uid string, boosID int32, difficulty int32, report *pb.BattleReport) {
|
||||
conn_, err := db.Cross() // 获取跨服数据库对象
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
userinfo, err := this.ModuleUser.GetUser(uid)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
model := db.NewDBModelByExpired(comm.TableVikingRank, 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.DBVikingRank, 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.DBVikingRank{
|
||||
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 = "vikingRank" + strconv.Itoa(int(boosID))
|
||||
strKey := "vikingrank:" + uid + "-" + objID // 自定义key
|
||||
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 *Viking) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (reddot map[comm.ReddotType]*pb.ReddotItem) {
|
||||
reddot = make(map[comm.ReddotType]*pb.ReddotItem)
|
||||
@ -295,121 +201,3 @@ func (this *Viking) CheckPreSeasonData() (bLocal bool) {
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
// 记录数据存在跨服
|
||||
func (this *Viking) CheckSeasonRank(uid string, boosID int32, difficulty int32, leadpos int32, szLine []*pb.LineUp, huihe int32) {
|
||||
var (
|
||||
conn_ *db.DBConn
|
||||
err error
|
||||
bcross bool
|
||||
)
|
||||
bcross, _ = this.CheckCurSeasonData()
|
||||
if bcross {
|
||||
conn_, err = db.Local() // 获取跨服数据库对象
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
} else { //数据记录在本服
|
||||
conn_, err = db.Cross()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
userinfo, err := this.ModuleUser.GetUser(uid)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
model := db.NewDBModelByExpired(comm.TableVikingSRank, conn_)
|
||||
|
||||
// 写入排行榜
|
||||
objID := ""
|
||||
bFind := false
|
||||
ranks := make([]*pb.DBVSeasonRank, 0)
|
||||
model.GetList(uid, &ranks)
|
||||
for _, v := range ranks {
|
||||
if v.Bosstype == boosID && v.Difficulty <= difficulty {
|
||||
if v.Difficulty == difficulty { // 难度相等 则回合数少则更新
|
||||
if v.Huihe != 0 && v.Huihe <= huihe {
|
||||
break
|
||||
}
|
||||
}
|
||||
mapRankData := make(map[string]interface{}, 0)
|
||||
mapRankData["difficulty"] = difficulty
|
||||
mapRankData["bosstype"] = boosID
|
||||
mapRankData["Leadpos"] = leadpos
|
||||
mapRankData["line"] = szLine
|
||||
mapRankData["huihe"] = huihe
|
||||
|
||||
model.ChangeList(uid, v.Id, mapRankData)
|
||||
objID = v.Id
|
||||
bFind = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if !bFind {
|
||||
new := &pb.DBVSeasonRank{
|
||||
Id: primitive.NewObjectID().Hex(),
|
||||
Uid: uid,
|
||||
Difficulty: difficulty,
|
||||
Bosstype: boosID,
|
||||
Nickname: userinfo.Name,
|
||||
Skin: userinfo.CurSkin,
|
||||
Lv: userinfo.Lv,
|
||||
Leadpos: leadpos,
|
||||
Line: szLine,
|
||||
Huihe: huihe,
|
||||
Sid: userinfo.Sid,
|
||||
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 int32
|
||||
)
|
||||
score = difficulty<<16 + huihe
|
||||
tableName = "vSeasonRank" + strconv.Itoa(int(boosID))
|
||||
strKey := "vikingsrank:" + uid + "-" + objID // 自定义key
|
||||
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
|
||||
}
|
||||
|
||||
// 以下是测试
|
||||
|
||||
// var (
|
||||
// szRank []*pb.DBVSeasonRank
|
||||
// rd *redis.StringSliceCmd
|
||||
// )
|
||||
// //dbModel := db.NewDBModel(comm.TableVikingSRank, 0, conn_)
|
||||
|
||||
// pipe = conn_.Redis.RedisPipe(context.TODO())
|
||||
// rd = pipe.ZRevRange("vSeasonRank"+strconv.Itoa(int(boosID)), 0, comm.MaxRankList)
|
||||
|
||||
// if _, err := pipe.Exec(); err != nil {
|
||||
// this.Errorln(err)
|
||||
// return
|
||||
// }
|
||||
// _dataList := rd.Val()
|
||||
// for _, v := range _dataList {
|
||||
// result := &pb.DBVSeasonRank{}
|
||||
// if err := model.Redis.HGetAll(v, result); err == nil {
|
||||
// szRank = append(szRank, result)
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ type DBFriend struct {
|
||||
Record []*AssistRecord `protobuf:"bytes,14,rep,name=record,proto3" json:"record" bson:"record"` // 助战记录
|
||||
Weapplyids []string `protobuf:"bytes,15,rep,name=weapplyids,proto3" json:"weapplyids" bson:"weapplyids"` //我申请的用户ID
|
||||
CleanTime int64 `protobuf:"varint,16,opt,name=cleanTime,proto3" json:"cleanTime" bson:"cleanTime"` //清理申请列表时间
|
||||
RefreshNum int32 `protobuf:"varint,17,opt,name=refreshNum,proto3" json:"refreshNum"` // 每日刷新次数
|
||||
RefreshNum int32 `protobuf:"varint,17,opt,name=refreshNum,proto3" json:"refreshNum" bson:"refreshNum"` // 每日刷新次数
|
||||
}
|
||||
|
||||
func (x *DBFriend) Reset() {
|
||||
|
@ -109,29 +109,101 @@ func (x *DBViking) GetRound() map[int32]int32 {
|
||||
}
|
||||
|
||||
// 维京远征排行榜
|
||||
type DBVikingRecord struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
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
|
||||
Uinfo *BaseUserInfo `protobuf:"bytes,3,opt,name=uinfo,proto3" json:"uinfo"` //用户基础
|
||||
Data map[int32]*ScoreData `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 类型
|
||||
Line *LineData `protobuf:"bytes,5,opt,name=line,proto3" json:"line"` // 阵容信息
|
||||
}
|
||||
|
||||
func (x *DBVikingRecord) Reset() {
|
||||
*x = DBVikingRecord{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_viking_viking_db_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *DBVikingRecord) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DBVikingRecord) ProtoMessage() {}
|
||||
|
||||
func (x *DBVikingRecord) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_viking_viking_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 DBVikingRecord.ProtoReflect.Descriptor instead.
|
||||
func (*DBVikingRecord) Descriptor() ([]byte, []int) {
|
||||
return file_viking_viking_db_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *DBVikingRecord) GetId() string {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DBVikingRecord) GetUid() string {
|
||||
if x != nil {
|
||||
return x.Uid
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DBVikingRecord) GetUinfo() *BaseUserInfo {
|
||||
if x != nil {
|
||||
return x.Uinfo
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBVikingRecord) GetData() map[int32]*ScoreData {
|
||||
if x != nil {
|
||||
return x.Data
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBVikingRecord) GetLine() *LineData {
|
||||
if x != nil {
|
||||
return x.Line
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type DBVikingRank struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
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
|
||||
Difficulty int32 `protobuf:"varint,3,opt,name=difficulty,proto3" json:"difficulty"` // 难度
|
||||
Bosstype int32 `protobuf:"varint,4,opt,name=bosstype,proto3" json:"bosstype"` // boss类型塔类型
|
||||
Nickname string `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname"` // 昵称
|
||||
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"` // 称号
|
||||
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"` // 难度
|
||||
Bosstype int32 `protobuf:"varint,4,opt,name=bosstype,proto3" json:"bosstype"` // boss类型塔类型
|
||||
Costtime int32 `protobuf:"varint,5,opt,name=costtime,proto3" json:"costtime"` // 耗时
|
||||
}
|
||||
|
||||
func (x *DBVikingRank) Reset() {
|
||||
*x = DBVikingRank{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_viking_viking_db_proto_msgTypes[1]
|
||||
mi := &file_viking_viking_db_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@ -144,7 +216,7 @@ func (x *DBVikingRank) String() string {
|
||||
func (*DBVikingRank) ProtoMessage() {}
|
||||
|
||||
func (x *DBVikingRank) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_viking_viking_db_proto_msgTypes[1]
|
||||
mi := &file_viking_viking_db_proto_msgTypes[2]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@ -157,21 +229,21 @@ func (x *DBVikingRank) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use DBVikingRank.ProtoReflect.Descriptor instead.
|
||||
func (*DBVikingRank) Descriptor() ([]byte, []int) {
|
||||
return file_viking_viking_db_proto_rawDescGZIP(), []int{1}
|
||||
return file_viking_viking_db_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *DBVikingRank) GetId() string {
|
||||
func (x *DBVikingRank) GetUinfo() *BaseUserInfo {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
return x.Uinfo
|
||||
}
|
||||
return ""
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBVikingRank) GetUid() string {
|
||||
func (x *DBVikingRank) GetLine() *LineData {
|
||||
if x != nil {
|
||||
return x.Uid
|
||||
return x.Line
|
||||
}
|
||||
return ""
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBVikingRank) GetDifficulty() int32 {
|
||||
@ -188,100 +260,39 @@ func (x *DBVikingRank) GetBosstype() int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBVikingRank) GetNickname() string {
|
||||
func (x *DBVikingRank) GetCosttime() int32 {
|
||||
if x != nil {
|
||||
return x.Nickname
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DBVikingRank) GetSkin() string {
|
||||
if x != nil {
|
||||
return x.Skin
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DBVikingRank) GetLv() int32 {
|
||||
if x != nil {
|
||||
return x.Lv
|
||||
return x.Costtime
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBVikingRank) GetLeadpos() int32 {
|
||||
if x != nil {
|
||||
return x.Leadpos
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBVikingRank) GetLine() []*LineUp {
|
||||
if x != nil {
|
||||
return x.Line
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBVikingRank) GetCostTime() int32 {
|
||||
if x != nil {
|
||||
return x.CostTime
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBVikingRank) GetSex() int32 {
|
||||
if x != nil {
|
||||
return x.Sex
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBVikingRank) GetTitle() string {
|
||||
if x != nil {
|
||||
return x.Title
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// 装备副本DBVSeasonRank
|
||||
type DBVSeasonRank struct {
|
||||
type ScoreData struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
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
|
||||
Difficulty int32 `protobuf:"varint,3,opt,name=difficulty,proto3" json:"difficulty"` // 难度
|
||||
Bosstype int32 `protobuf:"varint,4,opt,name=bosstype,proto3" json:"bosstype"` // boss类型塔类型
|
||||
Nickname string `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname"` // 昵称
|
||||
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"` // 阵容数据
|
||||
Huihe int32 `protobuf:"varint,10,opt,name=huihe,proto3" json:"huihe"` // 平均回合数 建议*10
|
||||
Sid string `protobuf:"bytes,11,opt,name=sid,proto3" json:"sid" bson:"sid"` //区服id
|
||||
Sex int32 `protobuf:"varint,12,opt,name=sex,proto3" json:"sex"` //性别
|
||||
Title string `protobuf:"bytes,13,opt,name=title,proto3" json:"title"` // 称号
|
||||
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"` // 最高难度
|
||||
}
|
||||
|
||||
func (x *DBVSeasonRank) Reset() {
|
||||
*x = DBVSeasonRank{}
|
||||
func (x *ScoreData) Reset() {
|
||||
*x = ScoreData{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_viking_viking_db_proto_msgTypes[2]
|
||||
mi := &file_viking_viking_db_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *DBVSeasonRank) String() string {
|
||||
func (x *ScoreData) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DBVSeasonRank) ProtoMessage() {}
|
||||
func (*ScoreData) ProtoMessage() {}
|
||||
|
||||
func (x *DBVSeasonRank) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_viking_viking_db_proto_msgTypes[2]
|
||||
func (x *ScoreData) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_viking_viking_db_proto_msgTypes[3]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@ -292,176 +303,353 @@ func (x *DBVSeasonRank) ProtoReflect() protoreflect.Message {
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use DBVSeasonRank.ProtoReflect.Descriptor instead.
|
||||
func (*DBVSeasonRank) Descriptor() ([]byte, []int) {
|
||||
return file_viking_viking_db_proto_rawDescGZIP(), []int{2}
|
||||
// Deprecated: Use ScoreData.ProtoReflect.Descriptor instead.
|
||||
func (*ScoreData) Descriptor() ([]byte, []int) {
|
||||
return file_viking_viking_db_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
func (x *DBVSeasonRank) GetId() string {
|
||||
func (x *ScoreData) GetCostime() map[int32]int32 {
|
||||
if x != nil {
|
||||
return x.Costime
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *ScoreData) GetMaxnandu() int32 {
|
||||
if x != nil {
|
||||
return x.Maxnandu
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type DBVSeasonRecord struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
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
|
||||
Uinfo *BaseUserInfo `protobuf:"bytes,3,opt,name=uinfo,proto3" json:"uinfo"` //用户基础
|
||||
Data map[int32]*HuiheData `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 类型
|
||||
Line *LineData `protobuf:"bytes,5,opt,name=line,proto3" json:"line"` // 阵容信息
|
||||
}
|
||||
|
||||
func (x *DBVSeasonRecord) Reset() {
|
||||
*x = DBVSeasonRecord{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_viking_viking_db_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *DBVSeasonRecord) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DBVSeasonRecord) ProtoMessage() {}
|
||||
|
||||
func (x *DBVSeasonRecord) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_viking_viking_db_proto_msgTypes[4]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use DBVSeasonRecord.ProtoReflect.Descriptor instead.
|
||||
func (*DBVSeasonRecord) Descriptor() ([]byte, []int) {
|
||||
return file_viking_viking_db_proto_rawDescGZIP(), []int{4}
|
||||
}
|
||||
|
||||
func (x *DBVSeasonRecord) GetId() string {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DBVSeasonRank) GetUid() string {
|
||||
func (x *DBVSeasonRecord) GetUid() string {
|
||||
if x != nil {
|
||||
return x.Uid
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DBVSeasonRank) GetDifficulty() int32 {
|
||||
func (x *DBVSeasonRecord) GetUinfo() *BaseUserInfo {
|
||||
if x != nil {
|
||||
return x.Difficulty
|
||||
return x.Uinfo
|
||||
}
|
||||
return 0
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBVSeasonRank) GetBosstype() int32 {
|
||||
func (x *DBVSeasonRecord) GetData() map[int32]*HuiheData {
|
||||
if x != nil {
|
||||
return x.Bosstype
|
||||
return x.Data
|
||||
}
|
||||
return 0
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBVSeasonRank) GetNickname() string {
|
||||
if x != nil {
|
||||
return x.Nickname
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DBVSeasonRank) GetSkin() string {
|
||||
if x != nil {
|
||||
return x.Skin
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DBVSeasonRank) GetLv() int32 {
|
||||
if x != nil {
|
||||
return x.Lv
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBVSeasonRank) GetLeadpos() int32 {
|
||||
if x != nil {
|
||||
return x.Leadpos
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBVSeasonRank) GetLine() []*LineUp {
|
||||
func (x *DBVSeasonRecord) GetLine() *LineData {
|
||||
if x != nil {
|
||||
return x.Line
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBVSeasonRank) GetHuihe() int32 {
|
||||
type HuiheData struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Huihe map[int32]int32 `protobuf:"bytes,1,rep,name=huihe,proto3" json:"huihe" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //key 难度 value 平均回合数 建议*10
|
||||
Maxnandu int32 `protobuf:"varint,2,opt,name=maxnandu,proto3" json:"maxnandu"` // 最高难度
|
||||
}
|
||||
|
||||
func (x *HuiheData) Reset() {
|
||||
*x = HuiheData{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_viking_viking_db_proto_msgTypes[5]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *HuiheData) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*HuiheData) ProtoMessage() {}
|
||||
|
||||
func (x *HuiheData) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_viking_viking_db_proto_msgTypes[5]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use HuiheData.ProtoReflect.Descriptor instead.
|
||||
func (*HuiheData) Descriptor() ([]byte, []int) {
|
||||
return file_viking_viking_db_proto_rawDescGZIP(), []int{5}
|
||||
}
|
||||
|
||||
func (x *HuiheData) GetHuihe() map[int32]int32 {
|
||||
if x != nil {
|
||||
return x.Huihe
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *HuiheData) GetMaxnandu() int32 {
|
||||
if x != nil {
|
||||
return x.Maxnandu
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type DBVikingSRank struct {
|
||||
state protoimpl.MessageState
|
||||
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,opt,name=uinfo,proto3" json:"uinfo"` //用户基础
|
||||
Line *LineData `protobuf:"bytes,3,opt,name=line,proto3" json:"line"` // 阵容信息
|
||||
Difficulty int32 `protobuf:"varint,4,opt,name=difficulty,proto3" json:"difficulty"` // 难度
|
||||
Bosstype int32 `protobuf:"varint,5,opt,name=bosstype,proto3" json:"bosstype"` // boss类型塔类型
|
||||
Huihe int32 `protobuf:"varint,6,opt,name=huihe,proto3" json:"huihe"` // 平均回合数 建议*10
|
||||
}
|
||||
|
||||
func (x *DBVikingSRank) Reset() {
|
||||
*x = DBVikingSRank{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_viking_viking_db_proto_msgTypes[6]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *DBVikingSRank) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DBVikingSRank) ProtoMessage() {}
|
||||
|
||||
func (x *DBVikingSRank) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_viking_viking_db_proto_msgTypes[6]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use DBVikingSRank.ProtoReflect.Descriptor instead.
|
||||
func (*DBVikingSRank) Descriptor() ([]byte, []int) {
|
||||
return file_viking_viking_db_proto_rawDescGZIP(), []int{6}
|
||||
}
|
||||
|
||||
func (x *DBVikingSRank) GetId() string {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DBVikingSRank) GetUinfo() *BaseUserInfo {
|
||||
if x != nil {
|
||||
return x.Uinfo
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBVikingSRank) GetLine() *LineData {
|
||||
if x != nil {
|
||||
return x.Line
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBVikingSRank) GetDifficulty() int32 {
|
||||
if x != nil {
|
||||
return x.Difficulty
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBVikingSRank) GetBosstype() int32 {
|
||||
if x != nil {
|
||||
return x.Bosstype
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBVikingSRank) GetHuihe() int32 {
|
||||
if x != nil {
|
||||
return x.Huihe
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBVSeasonRank) GetSid() string {
|
||||
if x != nil {
|
||||
return x.Sid
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DBVSeasonRank) GetSex() int32 {
|
||||
if x != nil {
|
||||
return x.Sex
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBVSeasonRank) GetTitle() string {
|
||||
if x != nil {
|
||||
return x.Title
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
var File_viking_viking_db_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_viking_viking_db_proto_rawDesc = []byte{
|
||||
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, 0x17, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65,
|
||||
0x2f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x22, 0xc0, 0x03, 0x0a, 0x08, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 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, 0x27, 0x0a, 0x04, 0x62, 0x6f, 0x73, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13,
|
||||
0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x6f, 0x73, 0x73, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x08, 0x62, 0x6f, 0x73,
|
||||
0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x44, 0x42,
|
||||
0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x45,
|
||||
0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21,
|
||||
0x0a, 0x02, 0x70, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x56,
|
||||
0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x02, 0x70,
|
||||
0x73, 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
|
||||
0x32, 0x14, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x6e,
|
||||
0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x37, 0x0a,
|
||||
0x09, 0x42, 0x6f, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
|
||||
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,
|
||||
0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x22, 0xc0, 0x03, 0x0a, 0x08, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 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,
|
||||
0x27, 0x0a, 0x04, 0x62, 0x6f, 0x73, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e,
|
||||
0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x6f, 0x73, 0x73, 0x45, 0x6e, 0x74,
|
||||
0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x08, 0x62, 0x6f, 0x73, 0x73,
|
||||
0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x44, 0x42, 0x56,
|
||||
0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a,
|
||||
0x02, 0x70, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x56, 0x69,
|
||||
0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x02, 0x70, 0x73,
|
||||
0x12, 0x2a, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x14, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64,
|
||||
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 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, 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, 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, 0xea, 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, 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, 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, 0x96, 0x01,
|
||||
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, 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, 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, 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, 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, 0xa7, 0x02, 0x0a, 0x0c, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e,
|
||||
0x67, 0x52, 0x61, 0x6e, 0x6b, 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, 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, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18,
|
||||
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12,
|
||||
0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73,
|
||||
0x6b, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x08,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x1b, 0x0a,
|
||||
0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x4c, 0x69,
|
||||
0x6e, 0x65, 0x55, 0x70, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f,
|
||||
0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f,
|
||||
0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x0b, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c,
|
||||
0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0xb4,
|
||||
0x02, 0x0a, 0x0d, 0x44, 0x42, 0x56, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b,
|
||||
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, 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, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b,
|
||||
0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x6e, 0x12, 0x0e,
|
||||
0x0a, 0x02, 0x6c, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x18,
|
||||
0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x1b, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65,
|
||||
0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x55, 0x70, 0x52,
|
||||
0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x75, 0x69, 0x68, 0x65, 0x18, 0x0a,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x68, 0x75, 0x69, 0x68, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73,
|
||||
0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 0x10, 0x0a,
|
||||
0x03, 0x73, 0x65, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12,
|
||||
0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
|
||||
0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xec, 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, 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, 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,
|
||||
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, 0x8e, 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, 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, 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 (
|
||||
@ -476,29 +664,50 @@ func file_viking_viking_db_proto_rawDescGZIP() []byte {
|
||||
return file_viking_viking_db_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_viking_viking_db_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
|
||||
var file_viking_viking_db_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
|
||||
var file_viking_viking_db_proto_goTypes = []interface{}{
|
||||
(*DBViking)(nil), // 0: DBViking
|
||||
(*DBVikingRank)(nil), // 1: DBVikingRank
|
||||
(*DBVSeasonRank)(nil), // 2: DBVSeasonRank
|
||||
nil, // 3: DBViking.BossEntry
|
||||
nil, // 4: DBViking.BossTimeEntry
|
||||
nil, // 5: DBViking.PsEntry
|
||||
nil, // 6: DBViking.RoundEntry
|
||||
(*LineUp)(nil), // 7: LineUp
|
||||
(*DBViking)(nil), // 0: DBViking
|
||||
(*DBVikingRecord)(nil), // 1: DBVikingRecord
|
||||
(*DBVikingRank)(nil), // 2: DBVikingRank
|
||||
(*ScoreData)(nil), // 3: ScoreData
|
||||
(*DBVSeasonRecord)(nil), // 4: DBVSeasonRecord
|
||||
(*HuiheData)(nil), // 5: HuiheData
|
||||
(*DBVikingSRank)(nil), // 6: DBVikingSRank
|
||||
nil, // 7: DBViking.BossEntry
|
||||
nil, // 8: DBViking.BossTimeEntry
|
||||
nil, // 9: DBViking.PsEntry
|
||||
nil, // 10: DBViking.RoundEntry
|
||||
nil, // 11: DBVikingRecord.DataEntry
|
||||
nil, // 12: ScoreData.CostimeEntry
|
||||
nil, // 13: DBVSeasonRecord.DataEntry
|
||||
nil, // 14: HuiheData.HuiheEntry
|
||||
(*BaseUserInfo)(nil), // 15: BaseUserInfo
|
||||
(*LineData)(nil), // 16: LineData
|
||||
}
|
||||
var file_viking_viking_db_proto_depIdxs = []int32{
|
||||
3, // 0: DBViking.boss:type_name -> DBViking.BossEntry
|
||||
4, // 1: DBViking.bossTime:type_name -> DBViking.BossTimeEntry
|
||||
5, // 2: DBViking.ps:type_name -> DBViking.PsEntry
|
||||
6, // 3: DBViking.round:type_name -> DBViking.RoundEntry
|
||||
7, // 4: DBVikingRank.line:type_name -> LineUp
|
||||
7, // 5: DBVSeasonRank.line:type_name -> LineUp
|
||||
6, // [6:6] is the sub-list for method output_type
|
||||
6, // [6:6] is the sub-list for method input_type
|
||||
6, // [6:6] is the sub-list for extension type_name
|
||||
6, // [6:6] is the sub-list for extension extendee
|
||||
0, // [0:6] is the sub-list for field type_name
|
||||
7, // 0: DBViking.boss:type_name -> DBViking.BossEntry
|
||||
8, // 1: DBViking.bossTime:type_name -> DBViking.BossTimeEntry
|
||||
9, // 2: DBViking.ps:type_name -> DBViking.PsEntry
|
||||
10, // 3: DBViking.round:type_name -> DBViking.RoundEntry
|
||||
15, // 4: DBVikingRecord.uinfo:type_name -> BaseUserInfo
|
||||
11, // 5: DBVikingRecord.data:type_name -> DBVikingRecord.DataEntry
|
||||
16, // 6: DBVikingRecord.line:type_name -> LineData
|
||||
15, // 7: DBVikingRank.uinfo:type_name -> BaseUserInfo
|
||||
16, // 8: DBVikingRank.line:type_name -> LineData
|
||||
12, // 9: ScoreData.costime:type_name -> ScoreData.CostimeEntry
|
||||
15, // 10: DBVSeasonRecord.uinfo:type_name -> BaseUserInfo
|
||||
13, // 11: DBVSeasonRecord.data:type_name -> DBVSeasonRecord.DataEntry
|
||||
16, // 12: DBVSeasonRecord.line:type_name -> LineData
|
||||
14, // 13: HuiheData.huihe:type_name -> HuiheData.HuiheEntry
|
||||
15, // 14: DBVikingSRank.uinfo:type_name -> BaseUserInfo
|
||||
16, // 15: DBVikingSRank.line:type_name -> LineData
|
||||
3, // 16: DBVikingRecord.DataEntry.value:type_name -> ScoreData
|
||||
5, // 17: DBVSeasonRecord.DataEntry.value:type_name -> HuiheData
|
||||
18, // [18:18] is the sub-list for method output_type
|
||||
18, // [18:18] is the sub-list for method input_type
|
||||
18, // [18:18] is the sub-list for extension type_name
|
||||
18, // [18:18] is the sub-list for extension extendee
|
||||
0, // [0:18] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_viking_viking_db_proto_init() }
|
||||
@ -506,7 +715,8 @@ func file_viking_viking_db_proto_init() {
|
||||
if File_viking_viking_db_proto != nil {
|
||||
return
|
||||
}
|
||||
file_battle_battle_msg_proto_init()
|
||||
file_comm_proto_init()
|
||||
file_integral_integral_db_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_viking_viking_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*DBViking); i {
|
||||
@ -521,7 +731,7 @@ func file_viking_viking_db_proto_init() {
|
||||
}
|
||||
}
|
||||
file_viking_viking_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*DBVikingRank); i {
|
||||
switch v := v.(*DBVikingRecord); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@ -533,7 +743,55 @@ func file_viking_viking_db_proto_init() {
|
||||
}
|
||||
}
|
||||
file_viking_viking_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*DBVSeasonRank); i {
|
||||
switch v := v.(*DBVikingRank); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_viking_viking_db_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ScoreData); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_viking_viking_db_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*DBVSeasonRecord); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_viking_viking_db_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*HuiheData); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_viking_viking_db_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*DBVikingSRank); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@ -551,7 +809,7 @@ func file_viking_viking_db_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_viking_viking_db_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 7,
|
||||
NumMessages: 15,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
|
@ -493,7 +493,6 @@ type VikingRankListReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
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 *VikingRankListReq) Reset() {
|
||||
@ -535,19 +534,13 @@ func (x *VikingRankListReq) GetBoosType() int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *VikingRankListReq) GetFriend() bool {
|
||||
if x != nil {
|
||||
return x.Friend
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
type VikingRankListResp struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Ranks []*DBVikingRank `protobuf:"bytes,1,rep,name=ranks,proto3" json:"ranks"` // 排行数据 有序的 注意boss类型
|
||||
Ranks []*DBVikingRank `protobuf:"bytes,1,rep,name=ranks,proto3" json:"ranks"` // 排行数据 有序的 注意boss类型
|
||||
Franks []*DBVikingRank `protobuf:"bytes,2,rep,name=franks,proto3" json:"franks"` // 好友排行数据 无序的
|
||||
}
|
||||
|
||||
func (x *VikingRankListResp) Reset() {
|
||||
@ -589,6 +582,13 @@ func (x *VikingRankListResp) GetRanks() []*DBVikingRank {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *VikingRankListResp) GetFranks() []*DBVikingRank {
|
||||
if x != nil {
|
||||
return x.Franks
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 排行榜
|
||||
type VikingSeasonRankReq struct {
|
||||
state protoimpl.MessageState
|
||||
@ -642,7 +642,7 @@ type VikingSeasonRankResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Ranks []*DBVSeasonRank `protobuf:"bytes,1,rep,name=ranks,proto3" json:"ranks"` // 排行数据 有序的 注意boss类型
|
||||
Ranks []*DBVikingSRank `protobuf:"bytes,1,rep,name=ranks,proto3" json:"ranks"` // 排行数据 有序的 注意boss类型
|
||||
Etime int64 `protobuf:"varint,2,opt,name=etime,proto3" json:"etime"`
|
||||
}
|
||||
|
||||
@ -678,7 +678,7 @@ func (*VikingSeasonRankResp) Descriptor() ([]byte, []int) {
|
||||
return file_viking_viking_msg_proto_rawDescGZIP(), []int{11}
|
||||
}
|
||||
|
||||
func (x *VikingSeasonRankResp) GetRanks() []*DBVSeasonRank {
|
||||
func (x *VikingSeasonRankResp) GetRanks() []*DBVikingSRank {
|
||||
if x != nil {
|
||||
return x.Ranks
|
||||
}
|
||||
@ -751,25 +751,25 @@ var file_viking_viking_msg_proto_rawDesc = []byte{
|
||||
0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x2e, 0x0a, 0x0d, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67,
|
||||
0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67,
|
||||
0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x47, 0x0a, 0x11, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67,
|
||||
0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2f, 0x0a, 0x11, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67,
|
||||
0x52, 0x61, 0x6e, 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, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e,
|
||||
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22,
|
||||
0x39, 0x0a, 0x12, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73,
|
||||
0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x01,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52,
|
||||
0x61, 0x6e, 0x6b, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x22, 0x31, 0x0a, 0x13, 0x56, 0x69,
|
||||
0x6b, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 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, 0x22, 0x52, 0x0a,
|
||||
0x14, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e,
|
||||
0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x01,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x56, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e,
|
||||
0x52, 0x61, 0x6e, 0x6b, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65,
|
||||
0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d,
|
||||
0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x33,
|
||||
0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x22, 0x60, 0x0a, 0x12, 0x56, 0x69, 0x6b, 0x69, 0x6e,
|
||||
0x67, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a,
|
||||
0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44,
|
||||
0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x05, 0x72, 0x61, 0x6e,
|
||||
0x6b, 0x73, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03,
|
||||
0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e,
|
||||
0x6b, 0x52, 0x06, 0x66, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x22, 0x31, 0x0a, 0x13, 0x56, 0x69, 0x6b,
|
||||
0x69, 0x6e, 0x67, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 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, 0x22, 0x52, 0x0a, 0x14,
|
||||
0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b,
|
||||
0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x52,
|
||||
0x61, 0x6e, 0x6b, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74,
|
||||
0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65,
|
||||
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@ -805,7 +805,7 @@ var file_viking_viking_msg_proto_goTypes = []interface{}{
|
||||
(*BattleReport)(nil), // 16: BattleReport
|
||||
(*UserAtno)(nil), // 17: UserAtno
|
||||
(*DBVikingRank)(nil), // 18: DBVikingRank
|
||||
(*DBVSeasonRank)(nil), // 19: DBVSeasonRank
|
||||
(*DBVikingSRank)(nil), // 19: DBVikingSRank
|
||||
}
|
||||
var file_viking_viking_msg_proto_depIdxs = []int32{
|
||||
13, // 0: VikingGetListResp.data:type_name -> DBViking
|
||||
@ -817,12 +817,13 @@ var file_viking_viking_msg_proto_depIdxs = []int32{
|
||||
12, // 6: VikingChallengeOverResp.heroexp:type_name -> VikingChallengeOverResp.HeroexpEntry
|
||||
13, // 7: VikingBuyResp.data:type_name -> DBViking
|
||||
18, // 8: VikingRankListResp.ranks:type_name -> DBVikingRank
|
||||
19, // 9: VikingSeasonRankResp.ranks:type_name -> DBVSeasonRank
|
||||
10, // [10:10] is the sub-list for method output_type
|
||||
10, // [10:10] is the sub-list for method input_type
|
||||
10, // [10:10] is the sub-list for extension type_name
|
||||
10, // [10:10] is the sub-list for extension extendee
|
||||
0, // [0:10] is the sub-list for field type_name
|
||||
18, // 9: VikingRankListResp.franks:type_name -> DBVikingRank
|
||||
19, // 10: VikingSeasonRankResp.ranks:type_name -> DBVikingSRank
|
||||
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_viking_viking_msg_proto_init() }
|
||||
|
Loading…
Reference in New Issue
Block a user