From c98b05e4c6aa2d0175c232ba0d237d20d31aa1ef Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Wed, 1 Nov 2023 15:47:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=AB=9E=E6=8A=80=E5=9C=BA?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/arena/api_challenge.go | 8 +- modules/arena/api_challengereward.go | 27 +- modules/arena/api_info.go | 13 +- modules/arena/api_matche.go | 2 +- modules/arena/api_plotreward.go | 2 +- modules/arena/api_rank.go | 8 +- modules/arena/modelarena.go | 83 +---- modules/arena/modelrank.go | 4 +- modules/arena/module.go | 4 +- modules/robot/modulerobot_arena.go | 8 +- pb/arena_db.pb.go | 465 ++++++++++++--------------- sys/db/init_test.go | 2 +- 12 files changed, 243 insertions(+), 383 deletions(-) diff --git a/modules/arena/api_challenge.go b/modules/arena/api_challenge.go index 6a7f60a35..e2cc2a916 100644 --- a/modules/arena/api_challenge.go +++ b/modules/arena/api_challenge.go @@ -124,12 +124,12 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.ArenaChallenge } } redplay := &pb.ArenaPlayer{ - Uid: red.Uid, + Uinfo: red.Uinfo, Integral: red.Integral, Dan: red.Dan, } this.module.modelArena.integralCompute(redplay, &pb.ArenaPlayer{ - Uid: bule.Uid, + Uinfo: bule.Uinfo, Integral: bule.Integral, Dan: bule.Dan, }, false) @@ -146,8 +146,8 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.ArenaChallenge if errdata, record = this.module.battle.CreatePvpBattle(session, &pb.BattlePVPReq{ Rulesid: 105, Ptype: pb.PlayType_arena, - Redformat: &pb.PVPFormation{Uid: red.Uid, Leadpos: red.Attack.Leadpos, Format: red.Attack.Formt}, - Buleformat: &pb.PVPFormation{Uid: bule.Uid, Leadpos: bule.Defend.Leadpos, Format: bule.Defend.Formt}, + Redformat: &pb.PVPFormation{Uid: red.Uinfo.Uid, Leadpos: red.Attack.Leadpos, Format: red.Attack.Formt}, + Buleformat: &pb.PVPFormation{Uid: bule.Uinfo.Uid, Leadpos: bule.Defend.Leadpos, Format: bule.Defend.Formt}, }); errdata != nil { return } diff --git a/modules/arena/api_challengereward.go b/modules/arena/api_challengereward.go index 9056b16f2..fee4140f0 100644 --- a/modules/arena/api_challengereward.go +++ b/modules/arena/api_challengereward.go @@ -94,13 +94,10 @@ func (this *apiComp) ChallengeReward(session comm.IUserSession, req *pb.ArenaCha } red = &pb.ArenaPlayer{ - Uid: info.Uid, - Name: info.Name, - Dan: info.Dan, + Uinfo: info.Uinfo, Integral: info.Integral + info.Prededuction, Defend: info.Defend, Isai: false, - Lv: info.Lv, Title: info.Title, } @@ -118,21 +115,21 @@ func (this *apiComp) ChallengeReward(session comm.IUserSession, req *pb.ArenaCha return } bule = &pb.ArenaPlayer{ - Uid: rival.Uid, - Name: rival.Name, + Uinfo: rival.Uinfo, Dan: rival.Dan, Integral: rival.Integral, Defend: rival.Defend, Isai: false, - Lv: rival.Lv, } if len(rival.Record) > 10 { rival.Record = rival.Record[1:] } } else { bule = &pb.ArenaPlayer{ - Dan: info.Dan, - Name: req.Ainame, + Dan: info.Dan, + Uinfo: &pb.BaseUserInfo{ + Name: req.Ainame, + }, Integral: req.Aiintegral, } } @@ -156,8 +153,8 @@ func (this *apiComp) ChallengeReward(session comm.IUserSession, req *pb.ArenaCha Time: configure.Now().Unix(), Iswin: req.Iswin, Isdefend: false, - Rivalid: bule.Uid, - Rivalname: bule.Name, + Rivalid: bule.Uinfo.Uid, + Rivalname: bule.Uinfo.Name, Leadpos: rival.Defend.Leadpos, Formt: make([]*pb.DBHeroBase, len(rival.Defend.Formt)), Addintegral: red.Changeintegral, @@ -188,8 +185,8 @@ func (this *apiComp) ChallengeReward(session comm.IUserSession, req *pb.ArenaCha Time: configure.Now().Unix(), Iswin: !req.Iswin, Isdefend: true, - Rivalid: red.Uid, - Rivalname: red.Name, + Rivalid: red.Uinfo.Uid, + Rivalname: red.Uinfo.Name, Leadpos: info.Attack.Leadpos, Addintegral: bule.Changeintegral, Formt: make([]*pb.DBHeroBase, len(info.Attack.Formt)), @@ -237,8 +234,8 @@ func (this *apiComp) ChallengeReward(session comm.IUserSession, req *pb.ArenaCha Time: configure.Now().Unix(), Iswin: req.Iswin, Isdefend: false, - Rivalid: bule.Uid, - Rivalname: bule.Name, + Rivalid: bule.Uinfo.Uid, + Rivalname: bule.Uinfo.Name, Leadpos: req.Report.Info.Buleflist[0].Leadpos, Formt: make([]*pb.DBHeroBase, len(req.Report.Info.Buleflist[0].Team)), Addintegral: red.Changeintegral, diff --git a/modules/arena/api_info.go b/modules/arena/api_info.go index dfb726f6c..23b07deed 100644 --- a/modules/arena/api_info.go +++ b/modules/arena/api_info.go @@ -49,11 +49,7 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.ArenaInfoReq) (errd global = this.module.ModuleTools.GetGlobalConf() info = &pb.DBArenaUser{ Id: primitive.NewObjectID().Hex(), - Uid: session.GetUserId(), - Name: user.Name, - Lv: user.Lv, - Sex: user.Gender, - Skin: user.CurSkin, + Uinfo: comm.GetUserBaseInfo(user), Integral: global.ArenaInitiaIntegral, Streak: 0, Record: make([]*pb.DBArenaBattleRecord, 0), @@ -75,12 +71,7 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.ArenaInfoReq) (errd this.module.Errorln(err) } } else { - info.Lv = user.Lv - info.Name = user.Name - // info.Avatar = user.Avatar - info.Sex = user.Gender - info.Skin = user.CurSkin - info.Title = user.Curtitle + info.Uinfo = comm.GetUserBaseInfo(user) this.module.modelArena.recoverTicket(session, info) if err = this.module.modelArena.updateArenaUserInfo(info); err != nil { errdata = &pb.ErrorData{ diff --git a/modules/arena/api_matche.go b/modules/arena/api_matche.go index 8e63ed4f2..6cf64162e 100644 --- a/modules/arena/api_matche.go +++ b/modules/arena/api_matche.go @@ -37,7 +37,7 @@ func (this *apiComp) Matche(session comm.IUserSession, req *pb.ArenaMatcheReq) ( this.module.Errorln(err) return } - if players, err = this.module.modelArena.matchePlayer(info.Uid, info.Dan, active.HumanNum); err != nil && err != mgo.MongodbNil { + if players, err = this.module.modelArena.matchePlayer(info.Uinfo.Uid, info.Dan, active.HumanNum); err != nil && err != mgo.MongodbNil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), diff --git a/modules/arena/api_plotreward.go b/modules/arena/api_plotreward.go index 572d4bdf0..a04e19db5 100644 --- a/modules/arena/api_plotreward.go +++ b/modules/arena/api_plotreward.go @@ -79,7 +79,7 @@ func (this *apiComp) PlotReward(session comm.IUserSession, req *pb.ArenaPlotRewa } info.Npc[req.Pid].Cd = configure.Now().Add(time.Minute * time.Duration(npc.ReviveCd)).Unix() - if err = this.module.modelArena.Change(info.Uid, map[string]interface{}{ + if err = this.module.modelArena.Change(info.Uinfo.Uid, map[string]interface{}{ "npc": info.Npc, }); err != nil { this.module.Errorln(err) diff --git a/modules/arena/api_rank.go b/modules/arena/api_rank.go index eb0e943a1..368f29b73 100644 --- a/modules/arena/api_rank.go +++ b/modules/arena/api_rank.go @@ -52,11 +52,7 @@ func (this *apiComp) Rank(session comm.IUserSession, req *pb.ArenaRankReq) (errd for i, v := range ranks { rank := int32(i + 1) players[i] = &pb.ArenaPlayer{ - Uid: v.Uid, - Name: v.Name, - Sex: v.Sex, - Skin: v.Skin, - Lv: v.Lv, + Uinfo: v.Uinfo, Dan: v.Dan, Rank: rank, Integral: v.Integral, @@ -64,7 +60,7 @@ func (this *apiComp) Rank(session comm.IUserSession, req *pb.ArenaRankReq) (errd Isai: false, Title: v.Title, } - if session.GetUserId() == v.Uid && info.Rank != rank { + if session.GetUserId() == v.Uinfo.Uid && info.Rank != rank { info.Rank = rank if err = this.module.modelArena.updateArenaUserInfo(info); err != nil { errdata = &pb.ErrorData{ diff --git a/modules/arena/modelarena.go b/modules/arena/modelarena.go index 7755a8896..7d6951632 100644 --- a/modules/arena/modelarena.go +++ b/modules/arena/modelarena.go @@ -7,7 +7,6 @@ import ( "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/log" "go_dreamfactory/lego/sys/mgo" - "go_dreamfactory/lego/utils/container/id" "go_dreamfactory/modules" "go_dreamfactory/pb" "go_dreamfactory/sys/configure" @@ -76,11 +75,7 @@ func (this *modelArena) queryArenaPlayer(uId string) (result *pb.ArenaPlayer, er return } result = &pb.ArenaPlayer{ - Uid: temp.Uid, - Name: temp.Name, - Lv: temp.Lv, - Sex: temp.Sex, - Skin: temp.Skin, + Uinfo: temp.Uinfo, Dan: temp.Dan, Integral: temp.Integral, Defend: temp.Defend, @@ -116,7 +111,7 @@ func (this *modelArena) updateArenaUserInfo(info *pb.DBArenaUser) (err error) { return } info.Dan = dan - this.Change(info.Uid, map[string]interface{}{ + this.Change(info.Uinfo.Uid, map[string]interface{}{ "integral": info.Integral, "dan": dan, "rank": info.Rank, @@ -132,11 +127,7 @@ func (this *modelArena) updateArenaUserInfo(info *pb.DBArenaUser) (err error) { "defendtotaluum": info.Defendtotaluum, "loc": []float64{float64(dan), float64(rand.Int31n(100)) / 1000.0}, "isdef": info.Isdef, - "name": info.Name, - "lv": info.Lv, - "sex": info.Sex, - "skin": info.Skin, - "title": info.Title, + "uinfo": info.Uinfo, }) return } @@ -149,7 +140,7 @@ func (this *modelArena) modifyIntegral(uid string, integral int32) (err error) { if dan, err = this.computedan(integral); err != nil { return } - player = &pb.ArenaPlayer{Uid: uid, Integral: integral} + player = &pb.ArenaPlayer{Uinfo: &pb.BaseUserInfo{Uid: uid}, Integral: integral} if err = this.module.modelRank.updateArenaRank(player); err != nil { this.module.Errorln(err) return @@ -175,31 +166,6 @@ func (this *modelArena) computedan(integral int32) (dan int32, err error) { return } -//获取目标去陪数据 -// func (this *modelArena) matchePlayer(integral int32) (results []*pb.DBArenaUser, err error) { -// var ( -// cursor *mongo.Cursor -// ) -// project := bson.M{"$project": bson.M{ -// "diff": bson.M{ -// "$abs": bson.M{"$subtract": bson.A{integral, "$start"}}, -// }, -// }} -// if cursor, err = this.DBModel.DB.Aggregate(comm.TableArena, bson.A{project}); err != nil { -// this.module.Errorln(err) -// return -// } else { -// for cursor.Next(context.Background()) { -// temp := &pb.DBArenaUser{} -// if err = cursor.Decode(temp); err != nil { -// this.module.Errorln(err) -// return -// } -// } -// } -// return -// } - // 匹配机器人 func (this *modelArena) matcheAI(dan, num int32) (results []*pb.ArenaPlayer, err error) { var ( @@ -239,12 +205,7 @@ func (this *modelArena) matcheAI(dan, num int32) (results []*pb.ArenaPlayer, err } results[i] = &pb.ArenaPlayer{ - Uid: fmt.Sprintf("ai_%s", id.NewXId()), - Name: robots[i].Name, - Lv: robots[i].Lvshow, - Sex: robots[i].Sex, - Skin: robots[i].Showid, - //Title: robots[i].Curtitle, + Uinfo: comm.GetRobotBaseInfo(robots[i]), Dan: dan, Integral: int32(rand.Intn(int(active.ScoreUp)-int(active.ScoreLow))) + active.ScoreLow, Isai: true, @@ -315,11 +276,7 @@ func (this *modelArena) matchePlayer(uid string, dan, num int32) (results []*pb. return } results = append(results, &pb.ArenaPlayer{ - Uid: temp.Uid, - Name: temp.Name, - Sex: temp.Sex, - Skin: temp.Skin, - Lv: temp.Lv, + Uinfo: temp.Uinfo, Dan: temp.Dan, Integral: temp.Integral, Defend: temp.Defend, @@ -330,31 +287,20 @@ func (this *modelArena) matchePlayer(uid string, dan, num int32) (results []*pb. return } -// 随机用户名 -func (this *modelArena) randUserName() string { - var s = []byte("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*") - r := rand.New(rand.NewSource(configure.Now().UnixNano() + rand.Int63n(10000))) - result := []byte("DWA_") - for i, v := range r.Perm(len(s)) { - result = append(result, s[v]) - if i == 3 { - break - } - } - return string(result) -} - func (this *modelArena) getAI(mformatId int32) (ai *pb.ArenaPlayer, err error) { var ( + robots []*cfg.GameRobotData formats []*cfg.GameMonsterFormatData - // monst *cfg.GameMonsterData ) + if robots, err = this.module.ModuleTools.RandRobotConfig(1); err != nil { + return + } if formats, err = this.module.configure.getMonsterFormat(mformatId); err != nil { this.module.Errorln(err) return } ai = &pb.ArenaPlayer{ - Name: this.randUserName(), + Uinfo: comm.GetRobotBaseInfo(robots[0]), Isai: true, Mformatid: mformatId, Defend: &pb.DBPlayerBattleFormt{ @@ -366,9 +312,6 @@ func (this *modelArena) getAI(mformatId int32) (ai *pb.ArenaPlayer, err error) { if v1 == nil { ai.Defend.Formt[i1] = nil } else { - // if monst, err = this.module.configure.getMonster(v1.Monster); err != nil { - // this.module.Errorln(err) - // } hero := &pb.DBHero{} if hero = this.module.ModuleHero.CreateMonster(fmt.Sprintf("%d", v1.Heroid), v1.Star, v1.Lv); hero == nil { err = fmt.Errorf("CreateMonster 失败") @@ -435,7 +378,7 @@ func (this *modelArena) recoverTicket(session comm.IUserSession, info *pb.DBAren maxTick := global.ArenaTicketMax // 竞技场最大上限 maxTick += this.module.privilege.GetCountByPrivilegeId(session.GetUserId(), comm.PrivilegeType10) // 特权 - ticket = int32(this.module.ModuleItems.QueryItemAmount(info.Uid, ticketitem.T)) + ticket = int32(this.module.ModuleItems.QueryItemAmount(info.Uinfo.Uid, ticketitem.T)) if ticket < maxTick && info.Lastrtickettime > 0 { duration = configure.Now().Sub(time.Unix(info.Lastrtickettime, 0)) ticketNum = int32(math.Floor(duration.Minutes() / float64(global.ArenaTicketRecoveryTime))) @@ -519,7 +462,7 @@ func (this *arenaModel) recoverTicket(session comm.IUserSession, info *pb.DBAren maxTick := global.ArenaTicketMax // 竞技场最大上限 maxTick += this.module.privilege.GetCountByPrivilegeId(session.GetUserId(), comm.PrivilegeType10) // 特权 - ticket = int32(this.module.ModuleItems.QueryItemAmount(info.Uid, ticketitem.T)) + ticket = int32(this.module.ModuleItems.QueryItemAmount(info.Uinfo.Uid, ticketitem.T)) if ticket < maxTick && info.Lastrtickettime > 0 { duration = configure.Now().Sub(time.Unix(info.Lastrtickettime, 0)) ticketNum = int32(math.Floor(duration.Minutes() / float64(global.ArenaTicketRecoveryTime))) diff --git a/modules/arena/modelrank.go b/modules/arena/modelrank.go index 42e8fa1fa..ef6ff2e09 100644 --- a/modules/arena/modelrank.go +++ b/modules/arena/modelrank.go @@ -40,13 +40,13 @@ func (this *modelRank) updateArenaRank(users ...*pb.ArenaPlayer) (err error) { ) menbers = make([]*redis.Z, len(users)) for i, v := range users { - menbers[i] = &redis.Z{Score: float64(v.Integral), Member: v.Uid} + menbers[i] = &redis.Z{Score: float64(v.Integral), Member: v.Uinfo.Uid} } if cmd = pipe.ZAdd(this.TableName, menbers...); err != nil { this.module.Errorln(err) } for i, v := range users { - menbersCmd[i] = pipe.ZRevRank(this.TableName, v.Uid) + menbersCmd[i] = pipe.ZRevRank(this.TableName, v.Uinfo.Uid) } if _, err = pipe.Exec(); err != nil { this.module.Errorln(err) diff --git a/modules/arena/module.go b/modules/arena/module.go index 53a8966d2..f9cbab41d 100644 --- a/modules/arena/module.go +++ b/modules/arena/module.go @@ -191,7 +191,7 @@ func (this *Arena) GetMatcheBattleRoles(uid string) (captain int32, rules []*pb. } if err == mgo.MongodbNil { info = &pb.DBArenaUser{ - Uid: uid, + Uinfo: &pb.BaseUserInfo{Uid: uid}, Integral: global.ArenaInitiaIntegral, Isdef: false, } @@ -199,7 +199,7 @@ func (this *Arena) GetMatcheBattleRoles(uid string) (captain int32, rules []*pb. return } } - if players, err = this.modelArena.matchePlayer(info.Uid, info.Dan, 1); err != nil && err != mgo.MongodbNil { + if players, err = this.modelArena.matchePlayer(info.Uinfo.Uid, info.Dan, 1); err != nil && err != mgo.MongodbNil { return } if len(players) > 0 { diff --git a/modules/robot/modulerobot_arena.go b/modules/robot/modulerobot_arena.go index e70b03935..46d069df2 100644 --- a/modules/robot/modulerobot_arena.go +++ b/modules/robot/modulerobot_arena.go @@ -72,7 +72,7 @@ func (this *ModuleRobot_Arena) DoPipeline(robot IRobot) (err error) { return } if resp, errdata = robot.SendMessage("arena", "challenge", &pb.ArenaChallengeReq{ - Playerid: player.Uid, + Playerid: player.Uinfo.Uid, Isai: player.Isai, MformatId: player.Mformatid, Battle: &pb.BattleFormation{ @@ -85,7 +85,7 @@ func (this *ModuleRobot_Arena) DoPipeline(robot IRobot) (err error) { Iswin: true, Isai: player.Isai, Aiintegral: player.Integral, - Ainame: player.Name, + Ainame: player.Uinfo.Name, Report: &pb.BattleReport{ Info: resp.(*pb.ArenaChallengeResp).Info, WinSide: 1, @@ -125,7 +125,7 @@ func (this *ModuleRobot_Arena) DoTask(robot IRobot, taskconf *cfg.GameWorldTaskD break } if resp, errdata = robot.SendTaskMessage(taskconf.Key, condconf.Id, "arena", "challenge", &pb.ArenaChallengeReq{ - Playerid: player.Uid, + Playerid: player.Uinfo.Uid, Isai: player.Isai, MformatId: player.Mformatid, Battle: &pb.BattleFormation{ @@ -138,7 +138,7 @@ func (this *ModuleRobot_Arena) DoTask(robot IRobot, taskconf *cfg.GameWorldTaskD Iswin: true, Isai: player.Isai, Aiintegral: player.Integral, - Ainame: player.Name, + Ainame: player.Uinfo.Name, Report: &pb.BattleReport{ Info: resp.(*pb.MainlineChallengeResp).Info, WinSide: 1, diff --git a/pb/arena_db.pb.go b/pb/arena_db.pb.go index cfa2b238e..84a3d3199 100644 --- a/pb/arena_db.pb.go +++ b/pb/arena_db.pb.go @@ -146,19 +146,15 @@ type ArenaPlayer struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name" bson:"avatar"` // string avatar = 3; //头像 - Lv int32 `protobuf:"varint,4,opt,name=lv,proto3" json:"lv" bson:"lv"` //等级 - Sex int32 `protobuf:"varint,5,opt,name=sex,proto3" json:"sex"` //性别 - Skin string `protobuf:"bytes,6,opt,name=skin,proto3" json:"skin"` //时装 - Dan int32 `protobuf:"varint,7,opt,name=dan,proto3" json:"dan"` //段位 - Integral int32 `protobuf:"varint,8,opt,name=integral,proto3" json:"integral"` - Rank int32 `protobuf:"varint,9,opt,name=rank,proto3" json:"rank"` //排名 - Defend *DBPlayerBattleFormt `protobuf:"bytes,10,opt,name=defend,proto3" json:"defend"` //防守 - Isai bool `protobuf:"varint,11,opt,name=isai,proto3" json:"isai"` //是否是ai - Mformatid int32 `protobuf:"varint,12,opt,name=mformatid,proto3" json:"mformatid"` // AIId - Changeintegral int32 `protobuf:"varint,13,opt,name=changeintegral,proto3" json:"changeintegral"` //变化积分 - Title string `protobuf:"bytes,14,opt,name=title,proto3" json:"title"` + Uinfo *BaseUserInfo `protobuf:"bytes,1,opt,name=uinfo,proto3" json:"uinfo"` //用户基础 + Dan int32 `protobuf:"varint,2,opt,name=dan,proto3" json:"dan"` //段位 + Integral int32 `protobuf:"varint,3,opt,name=integral,proto3" json:"integral"` + Rank int32 `protobuf:"varint,4,opt,name=rank,proto3" json:"rank"` //排名 + Defend *DBPlayerBattleFormt `protobuf:"bytes,5,opt,name=defend,proto3" json:"defend"` //防守 + Isai bool `protobuf:"varint,6,opt,name=isai,proto3" json:"isai"` //是否是ai + Mformatid int32 `protobuf:"varint,7,opt,name=mformatid,proto3" json:"mformatid"` // AIId + Changeintegral int32 `protobuf:"varint,8,opt,name=changeintegral,proto3" json:"changeintegral"` //变化积分 + Title string `protobuf:"bytes,9,opt,name=title,proto3" json:"title"` } func (x *ArenaPlayer) Reset() { @@ -193,39 +189,11 @@ func (*ArenaPlayer) Descriptor() ([]byte, []int) { return file_arena_arena_db_proto_rawDescGZIP(), []int{1} } -func (x *ArenaPlayer) GetUid() string { +func (x *ArenaPlayer) GetUinfo() *BaseUserInfo { if x != nil { - return x.Uid + return x.Uinfo } - return "" -} - -func (x *ArenaPlayer) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *ArenaPlayer) GetLv() int32 { - if x != nil { - return x.Lv - } - return 0 -} - -func (x *ArenaPlayer) GetSex() int32 { - if x != nil { - return x.Sex - } - return 0 -} - -func (x *ArenaPlayer) GetSkin() string { - if x != nil { - return x.Skin - } - return "" + return nil } func (x *ArenaPlayer) GetDan() int32 { @@ -538,12 +506,8 @@ type DBArenaUser struct { 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"` //用户id - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"` //玩家名称 - Lv int32 `protobuf:"varint,4,opt,name=lv,proto3" json:"lv" bson:"lv"` //等级 + Uinfo *BaseUserInfo `protobuf:"bytes,2,opt,name=uinfo,proto3" json:"uinfo"` //用户基础 Integral int32 `protobuf:"varint,5,opt,name=integral,proto3" json:"integral"` //积分 - Sex int32 `protobuf:"varint,6,opt,name=sex,proto3" json:"sex"` //性别 - Skin string `protobuf:"bytes,7,opt,name=skin,proto3" json:"skin"` //时装 Dan int32 `protobuf:"varint,8,opt,name=dan,proto3" json:"dan"` //段位 Attack *DBPlayerBattleFormt `protobuf:"bytes,9,opt,name=attack,proto3" json:"attack"` //进攻阵型 Defend *DBPlayerBattleFormt `protobuf:"bytes,10,opt,name=defend,proto3" json:"defend"` //防守阵型 @@ -604,25 +568,11 @@ func (x *DBArenaUser) GetId() string { return "" } -func (x *DBArenaUser) GetUid() string { +func (x *DBArenaUser) GetUinfo() *BaseUserInfo { if x != nil { - return x.Uid + return x.Uinfo } - return "" -} - -func (x *DBArenaUser) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *DBArenaUser) GetLv() int32 { - if x != nil { - return x.Lv - } - return 0 + return nil } func (x *DBArenaUser) GetIntegral() int32 { @@ -632,20 +582,6 @@ func (x *DBArenaUser) GetIntegral() int32 { return 0 } -func (x *DBArenaUser) GetSex() int32 { - if x != nil { - return x.Sex - } - return 0 -} - -func (x *DBArenaUser) GetSkin() string { - if x != nil { - return x.Skin - } - return "" -} - func (x *DBArenaUser) GetDan() int32 { if x != nil { return x.Dan @@ -910,175 +846,169 @@ var file_arena_arena_db_proto_rawDesc = []byte{ 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x1d, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x6d, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, - 0x05, 0x66, 0x6f, 0x72, 0x6d, 0x74, 0x22, 0xc9, 0x02, 0x0a, 0x0b, 0x41, 0x72, 0x65, 0x6e, 0x61, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x6c, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x10, 0x0a, 0x03, - 0x73, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6b, - 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x03, 0x64, 0x61, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, - 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x2c, 0x0a, 0x06, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, - 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x06, 0x64, 0x65, 0x66, 0x65, - 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x61, 0x69, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x04, 0x69, 0x73, 0x61, 0x69, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x69, 0x6e, - 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x22, 0x8e, 0x07, 0x0a, 0x0a, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x73, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6f, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x35, 0x0a, 0x08, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x44, 0x42, - 0x48, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x12, 0x3e, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x61, - 0x73, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x12, 0x41, 0x0a, 0x0c, 0x6a, 0x75, 0x65, 0x78, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x42, - 0x61, 0x73, 0x65, 0x2e, 0x4a, 0x75, 0x65, 0x78, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6a, 0x75, 0x65, 0x78, 0x50, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x12, 0x47, 0x0a, 0x0e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x44, 0x42, - 0x48, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x74, 0x61, - 0x6c, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x50, 0x0a, 0x11, - 0x68, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, - 0x42, 0x61, 0x73, 0x65, 0x2e, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x50, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x68, 0x6f, 0x72, - 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x32, - 0x0a, 0x07, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x73, 0x65, 0x2e, 0x46, 0x65, 0x74, - 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x66, 0x65, 0x74, 0x74, 0x65, - 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x0b, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x6b, 0x69, 0x6c, - 0x6c, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x0b, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x6b, 0x69, 0x6c, 0x6c, - 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 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, 0x3e, 0x0a, - 0x10, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 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, 0x3f, 0x0a, - 0x11, 0x4a, 0x75, 0x65, 0x78, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 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, 0x41, - 0x0a, 0x13, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 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, 0x44, 0x0a, 0x16, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x50, 0x72, + 0x05, 0x66, 0x6f, 0x72, 0x6d, 0x74, 0x22, 0x92, 0x02, 0x0a, 0x0b, 0x41, 0x72, 0x65, 0x6e, 0x61, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x18, + 0x01, 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, 0x10, 0x0a, 0x03, 0x64, + 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, + 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x2c, 0x0a, + 0x06, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x44, 0x42, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, + 0x72, 0x6d, 0x74, 0x52, 0x06, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, + 0x73, 0x61, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x61, 0x69, 0x12, + 0x1c, 0x0a, 0x09, 0x6d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x6d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x64, 0x12, 0x26, 0x0a, + 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x69, 0x6e, 0x74, + 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x8e, 0x07, 0x0a, 0x0a, + 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, + 0x63, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, + 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x6c, 0x76, 0x12, 0x35, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x73, + 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x0b, 0x61, 0x64, 0x64, + 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x73, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x50, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x64, + 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x41, 0x0a, 0x0c, 0x6a, 0x75, 0x65, + 0x78, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x73, 0x65, 0x2e, 0x4a, 0x75, 0x65, + 0x78, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, + 0x6a, 0x75, 0x65, 0x78, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x47, 0x0a, 0x0e, + 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x08, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x73, + 0x65, 0x2e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x50, 0x0a, 0x11, 0x68, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x73, 0x65, 0x2e, 0x48, 0x6f, + 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x68, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x50, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x32, 0x0a, 0x07, 0x66, 0x65, 0x74, 0x74, 0x65, + 0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, + 0x6f, 0x42, 0x61, 0x73, 0x65, 0x2e, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x07, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x0b, 0x6e, + 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0a, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x6e, 0x6f, + 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 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, 0x3e, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 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, 0x3f, 0x0a, 0x11, 0x4a, 0x75, 0x65, 0x78, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 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, 0x3a, 0x0a, 0x0c, 0x46, 0x65, 0x74, 0x74, 0x65, - 0x72, 0x73, 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, 0x22, 0xae, 0x02, 0x0a, 0x13, 0x44, 0x42, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x42, - 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x62, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x69, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x69, 0x6d, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x77, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x05, 0x69, 0x73, 0x77, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x64, 0x65, 0x66, - 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x64, 0x65, 0x66, - 0x65, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6c, - 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, - 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x21, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x6d, 0x74, 0x18, 0x08, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x73, - 0x65, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x6d, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x69, - 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, - 0x64, 0x64, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x05, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x42, 0x61, 0x74, 0x74, - 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x22, 0xc2, 0x06, 0x0a, 0x0b, 0x44, 0x42, 0x41, 0x72, 0x65, 0x6e, 0x61, - 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, - 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, - 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x6e, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, - 0x64, 0x61, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x6e, 0x12, 0x2c, - 0x0a, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x54, 0x61, 0x6c, 0x65, 0x6e, + 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 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, 0x44, 0x0a, 0x16, 0x48, 0x6f, + 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 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, 0x3a, 0x0a, 0x0c, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 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, 0x22, 0xae, 0x02, 0x0a, + 0x13, 0x44, 0x42, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x62, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, + 0x77, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x77, 0x69, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x72, 0x69, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, + 0x69, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x69, 0x76, 0x61, 0x6c, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x21, + 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x6d, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x73, 0x65, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x6d, + 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x74, 0x65, 0x67, + 0x72, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x8b, 0x06, + 0x0a, 0x0b, 0x44, 0x42, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x55, 0x73, 0x65, 0x72, 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, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x10, + 0x0a, 0x03, 0x64, 0x61, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x6e, + 0x12, 0x2c, 0x0a, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x44, 0x42, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, + 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x2c, + 0x0a, 0x06, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, - 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x2c, 0x0a, 0x06, - 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, - 0x42, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, - 0x6d, 0x74, 0x52, 0x06, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x72, 0x65, 0x61, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x72, 0x65, - 0x61, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x72, 0x61, 0x74, 0x65, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x72, 0x61, - 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x72, 0x61, 0x74, 0x65, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x72, 0x61, - 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x79, 0x6e, 0x75, 0x6d, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x79, 0x6e, 0x75, 0x6d, 0x12, 0x2c, - 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x44, 0x42, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x28, 0x0a, 0x0f, - 0x6c, 0x61, 0x73, 0x74, 0x72, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x72, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, - 0x77, 0x69, 0x6e, 0x75, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x74, - 0x74, 0x61, 0x63, 0x6b, 0x77, 0x69, 0x6e, 0x75, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, - 0x74, 0x61, 0x63, 0x6b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x75, 0x75, 0x6d, 0x18, 0x13, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x75, - 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x77, 0x69, 0x6e, 0x75, - 0x75, 0x6d, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, - 0x77, 0x69, 0x6e, 0x75, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x75, 0x75, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, - 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x75, 0x75, 0x6d, 0x12, 0x10, - 0x0a, 0x03, 0x6c, 0x6f, 0x63, 0x18, 0x16, 0x20, 0x03, 0x28, 0x01, 0x52, 0x03, 0x6c, 0x6f, 0x63, - 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x64, 0x65, 0x66, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x05, 0x69, 0x73, 0x64, 0x65, 0x66, 0x12, 0x27, 0x0a, 0x03, 0x6e, 0x70, 0x63, 0x18, 0x18, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44, 0x42, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x55, 0x73, 0x65, - 0x72, 0x2e, 0x4e, 0x70, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x6e, 0x70, 0x63, 0x12, - 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x64, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x64, 0x65, 0x64, 0x75, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x1a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x1a, 0x3e, 0x0a, 0x08, 0x4e, 0x70, 0x63, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x44, 0x42, 0x4e, 0x70, 0x63, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3d, 0x0a, 0x05, 0x44, 0x42, 0x4e, - 0x70, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x63, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, - 0x63, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x44, 0x0a, 0x14, 0x52, 0x50, 0x43, 0x4d, - 0x6f, 0x64, 0x69, 0x66, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71, - 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, - 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x2a, 0x9f, - 0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x57, 0x69, - 0x6e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x4c, 0x6f, 0x73, - 0x74, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x6b, 0x57, 0x69, - 0x6e, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x4c, 0x6f, 0x73, - 0x74, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x76, 0x65, 0x6e, 0x67, 0x65, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x65, 0x76, 0x65, 0x6e, - 0x67, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x65, - 0x76, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x10, 0x06, - 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x65, 0x76, 0x65, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x64, 0x10, 0x07, - 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x06, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x72, 0x61, + 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, + 0x72, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x72, 0x61, + 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, + 0x72, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x79, 0x6e, + 0x75, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x79, 0x6e, 0x75, 0x6d, + 0x12, 0x2c, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x44, 0x42, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x28, + 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x72, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x72, 0x74, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x6b, 0x77, 0x69, 0x6e, 0x75, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x77, 0x69, 0x6e, 0x75, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x75, 0x75, 0x6d, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x75, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x77, 0x69, + 0x6e, 0x75, 0x75, 0x6d, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x65, + 0x6e, 0x64, 0x77, 0x69, 0x6e, 0x75, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x65, + 0x6e, 0x64, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x75, 0x75, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0e, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x75, 0x75, 0x6d, + 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x63, 0x18, 0x16, 0x20, 0x03, 0x28, 0x01, 0x52, 0x03, 0x6c, + 0x6f, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x64, 0x65, 0x66, 0x18, 0x17, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x05, 0x69, 0x73, 0x64, 0x65, 0x66, 0x12, 0x27, 0x0a, 0x03, 0x6e, 0x70, 0x63, 0x18, + 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44, 0x42, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x55, + 0x73, 0x65, 0x72, 0x2e, 0x4e, 0x70, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x6e, 0x70, + 0x63, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x64, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x64, 0x65, 0x64, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x1a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x1a, 0x3e, 0x0a, 0x08, 0x4e, + 0x70, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x44, 0x42, 0x4e, 0x70, 0x63, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3d, 0x0a, 0x05, 0x44, + 0x42, 0x4e, 0x70, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x63, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x02, 0x63, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x44, 0x0a, 0x14, 0x52, 0x50, + 0x43, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x52, + 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, + 0x2a, 0x9f, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, + 0x57, 0x69, 0x6e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x4c, + 0x6f, 0x73, 0x74, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x6b, + 0x57, 0x69, 0x6e, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x4c, + 0x6f, 0x73, 0x74, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, + 0x52, 0x65, 0x76, 0x65, 0x6e, 0x67, 0x65, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x65, 0x76, + 0x65, 0x6e, 0x67, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, + 0x52, 0x65, 0x76, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, + 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x65, 0x76, 0x65, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x64, + 0x10, 0x07, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -1112,30 +1042,33 @@ var file_arena_arena_db_proto_goTypes = []interface{}{ nil, // 13: DBHeroBase.FettersEntry nil, // 14: DBArenaUser.NpcEntry (*DBHero)(nil), // 15: DBHero - (*SkillData)(nil), // 16: SkillData + (*BaseUserInfo)(nil), // 16: BaseUserInfo + (*SkillData)(nil), // 17: SkillData } var file_arena_arena_db_proto_depIdxs = []int32{ 15, // 0: DBPlayerBattleFormt.formt:type_name -> DBHero - 1, // 1: ArenaPlayer.defend:type_name -> DBPlayerBattleFormt - 8, // 2: DBHeroBase.property:type_name -> DBHeroBase.PropertyEntry - 9, // 3: DBHeroBase.addProperty:type_name -> DBHeroBase.AddPropertyEntry - 10, // 4: DBHeroBase.juexProperty:type_name -> DBHeroBase.JuexPropertyEntry - 11, // 5: DBHeroBase.talentProperty:type_name -> DBHeroBase.TalentPropertyEntry - 12, // 6: DBHeroBase.horoscopeProperty:type_name -> DBHeroBase.HoroscopePropertyEntry - 13, // 7: DBHeroBase.fetters:type_name -> DBHeroBase.FettersEntry - 16, // 8: DBHeroBase.normalSkill:type_name -> SkillData - 3, // 9: DBArenaBattleRecord.formt:type_name -> DBHeroBase - 0, // 10: DBArenaBattleRecord.State:type_name -> BattleRecordState - 1, // 11: DBArenaUser.attack:type_name -> DBPlayerBattleFormt - 1, // 12: DBArenaUser.defend:type_name -> DBPlayerBattleFormt - 4, // 13: DBArenaUser.record:type_name -> DBArenaBattleRecord - 14, // 14: DBArenaUser.npc:type_name -> DBArenaUser.NpcEntry - 6, // 15: DBArenaUser.NpcEntry.value:type_name -> DBNpc - 16, // [16:16] is the sub-list for method output_type - 16, // [16:16] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 16, // 1: ArenaPlayer.uinfo:type_name -> BaseUserInfo + 1, // 2: ArenaPlayer.defend:type_name -> DBPlayerBattleFormt + 8, // 3: DBHeroBase.property:type_name -> DBHeroBase.PropertyEntry + 9, // 4: DBHeroBase.addProperty:type_name -> DBHeroBase.AddPropertyEntry + 10, // 5: DBHeroBase.juexProperty:type_name -> DBHeroBase.JuexPropertyEntry + 11, // 6: DBHeroBase.talentProperty:type_name -> DBHeroBase.TalentPropertyEntry + 12, // 7: DBHeroBase.horoscopeProperty:type_name -> DBHeroBase.HoroscopePropertyEntry + 13, // 8: DBHeroBase.fetters:type_name -> DBHeroBase.FettersEntry + 17, // 9: DBHeroBase.normalSkill:type_name -> SkillData + 3, // 10: DBArenaBattleRecord.formt:type_name -> DBHeroBase + 0, // 11: DBArenaBattleRecord.State:type_name -> BattleRecordState + 16, // 12: DBArenaUser.uinfo:type_name -> BaseUserInfo + 1, // 13: DBArenaUser.attack:type_name -> DBPlayerBattleFormt + 1, // 14: DBArenaUser.defend:type_name -> DBPlayerBattleFormt + 4, // 15: DBArenaUser.record:type_name -> DBArenaBattleRecord + 14, // 16: DBArenaUser.npc:type_name -> DBArenaUser.NpcEntry + 6, // 17: DBArenaUser.NpcEntry.value:type_name -> DBNpc + 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_arena_arena_db_proto_init() } diff --git a/sys/db/init_test.go b/sys/db/init_test.go index a5947e76f..7c75580a4 100644 --- a/sys/db/init_test.go +++ b/sys/db/init_test.go @@ -78,7 +78,7 @@ func Test_2D(t *testing.T) { fmt.Printf("err:%v", err) return } - fmt.Printf("temp:%v\n", temp.Uid) + fmt.Printf("temp:%v\n", temp.Uinfo.Uid) } } }