上传代码
This commit is contained in:
parent
30d9457ae0
commit
d377ecca4b
@ -100,7 +100,7 @@ func ProtoMarshal(rsp proto.Message, msg *pb.UserMessage) (ok bool) {
|
||||
return true
|
||||
}
|
||||
|
||||
// / 参数 权重数组 返回值 数组下标
|
||||
//参数 权重数组 返回值 数组下标
|
||||
func GetRandW(sz []int32) int32 {
|
||||
if len(sz) > 0 {
|
||||
var _totalW int64 // 总权重
|
||||
|
@ -731,6 +731,7 @@ func (this *modelBattleComp) createBattleRole(hero *pb.DBHero, vlv int32, tid, p
|
||||
|
||||
if hero.Ispasson && vlv > 0 {
|
||||
hero = this.module.ModuleHero.GetVirtualHero(hero, vlv)
|
||||
role.Lv = hero.Lv
|
||||
}
|
||||
|
||||
for k, v := range hero.Property {
|
||||
|
@ -2,12 +2,14 @@ package parkour
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/lego/core/cbase"
|
||||
"go_dreamfactory/modules/parkour/ai"
|
||||
"go_dreamfactory/lego/sys/timewheel"
|
||||
"go_dreamfactory/pb"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
"sync"
|
||||
"time"
|
||||
)
|
||||
|
||||
/*
|
||||
@ -15,11 +17,12 @@ AI 逻辑组件
|
||||
*/
|
||||
type aiComp struct {
|
||||
cbase.ModuleCompBase
|
||||
service core.IService
|
||||
module *Parkour
|
||||
conf []*cfg.GameBuzkashiGradeData
|
||||
lock sync.RWMutex
|
||||
ais map[string][]*ai.AI
|
||||
service core.IService
|
||||
module *Parkour
|
||||
avoidConf []*cfg.GameBuzkashiGradeData
|
||||
shotConf []*cfg.GameBuzkashiQteLvData
|
||||
lock sync.RWMutex
|
||||
ais map[string][]*AI
|
||||
}
|
||||
|
||||
//组件初始化接口
|
||||
@ -27,16 +30,19 @@ func (this *aiComp) Init(service core.IService, module core.IModule, comp core.I
|
||||
this.ModuleCompBase.Init(service, module, comp, options)
|
||||
this.module = module.(*Parkour)
|
||||
this.service = service
|
||||
this.ais = make(map[string][]*ai.AI)
|
||||
this.ais = make(map[string][]*AI)
|
||||
return
|
||||
}
|
||||
|
||||
func (this *aiComp) Start() (err error) {
|
||||
err = this.ModuleCompBase.Start()
|
||||
if this.conf, err = this.module.configure.getGameBuzkashiGrades(); err != nil {
|
||||
if this.avoidConf, err = this.module.configure.getGameBuzkashiGrades(); err != nil {
|
||||
return
|
||||
}
|
||||
// timewheel.AddCron(time.Second*3, this.aihandle)
|
||||
if this.shotConf, err = this.module.configure.getGameBuzkashiQteLvs(); err != nil {
|
||||
return
|
||||
}
|
||||
timewheel.AddCron(time.Second, this.run)
|
||||
return
|
||||
}
|
||||
|
||||
@ -44,7 +50,7 @@ func (this *aiComp) Start() (err error) {
|
||||
func (this *aiComp) createAi(battleid string, btype pb.RaceType, users []*pb.DBRaceMember) (err error) {
|
||||
var (
|
||||
ok bool
|
||||
ais []*ai.AI
|
||||
ais []*AI
|
||||
conf *cfg.GameBukashiAiData
|
||||
)
|
||||
if battleid == "" || users == nil || len(users) == 0 {
|
||||
@ -59,12 +65,12 @@ func (this *aiComp) createAi(battleid string, btype pb.RaceType, users []*pb.DBR
|
||||
err = fmt.Errorf("battle:%s already exists", battleid)
|
||||
return
|
||||
}
|
||||
ais = make([]*ai.AI, len(users))
|
||||
ais = make([]*AI, len(users))
|
||||
for i, v := range users {
|
||||
if conf, err = this.module.configure.getgameBukashiAiDataByDan(int32(btype), v.Dan); err != nil {
|
||||
return
|
||||
}
|
||||
ais[i] = ai.NewAI(battleid, v.Uid, conf)
|
||||
ais[i] = NewAI(battleid, v.Uid, conf)
|
||||
|
||||
}
|
||||
this.lock.Lock()
|
||||
@ -80,45 +86,115 @@ func (this *aiComp) removeAi(battleid string) {
|
||||
this.lock.Unlock()
|
||||
}
|
||||
|
||||
//ai自动化
|
||||
// func (this *aiComp) aihandle(task *timewheel.Task, args ...interface{}) {
|
||||
// var (
|
||||
// ok bool
|
||||
// ais map[string][]*AI = make(map[string][]*AI)
|
||||
// )
|
||||
// this.lock.RLock()
|
||||
// if len(this.ais) > 0 {
|
||||
// ok = true
|
||||
// for k, v := range this.ais {
|
||||
// ais[k] = v
|
||||
// }
|
||||
// }
|
||||
// this.lock.RUnlock()
|
||||
// if ok {
|
||||
// for id, member := range ais {
|
||||
// for _, ai := range member {
|
||||
// if time.Now().Sub(ai.LastTime) > ai.Interval {
|
||||
// switch ai.Handle[ai.CurrIndex] {
|
||||
// case AIHandle_Avoid0: //躲避障碍 失败
|
||||
// go this.module.avoid(id, ai.UId, nil)
|
||||
// break
|
||||
// case AIHandle_Avoid1: //躲避障碍 成功
|
||||
// go this.module.avoid(id, ai.UId, this.conf[1])
|
||||
// break
|
||||
// case AIHandle_Avoid2: //躲避障碍 完美
|
||||
// go this.module.avoid(id, ai.UId, this.conf[0])
|
||||
// break
|
||||
// case AIHandle_Shots0: //射门 失败
|
||||
// break
|
||||
// case AIHandle_Shots1: //射门 成功
|
||||
// go this.module.shot(id, ai.UId)
|
||||
// break
|
||||
// }
|
||||
// ai.LastTime = time.Now()
|
||||
// ai.CurrIndex++
|
||||
// ai.CurrIndex = ai.CurrIndex % int32(len(ai.Handle))
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
func (this *aiComp) run(task *timewheel.Task, args ...interface{}) {
|
||||
var (
|
||||
ais []*AI
|
||||
)
|
||||
this.lock.Lock()
|
||||
for _, v := range this.ais {
|
||||
ais = append(ais, v...)
|
||||
}
|
||||
this.lock.Unlock()
|
||||
for _, v := range ais {
|
||||
this.ExceAi(v)
|
||||
}
|
||||
}
|
||||
|
||||
//执行ai
|
||||
func (this *aiComp) ExceAi(_ai *AI) {
|
||||
var (
|
||||
handle []*AIHandle
|
||||
weights []int32
|
||||
indexhandle int32
|
||||
currhandle *AIHandle
|
||||
)
|
||||
_ai.CD = _ai.CD - 1
|
||||
if _ai.CD > 0 {
|
||||
return
|
||||
}
|
||||
|
||||
for _, v := range _ai.Handles {
|
||||
v.cd -= _ai.Conf.BehaviorCD
|
||||
if v.cd <= 0 {
|
||||
handle = append(handle, v)
|
||||
weights = append(weights, v.weight)
|
||||
}
|
||||
}
|
||||
|
||||
if len(handle) > 0 {
|
||||
return
|
||||
}
|
||||
|
||||
indexhandle = comm.GetRandW(weights)
|
||||
currhandle = handle[indexhandle]
|
||||
switch currhandle.htype {
|
||||
case AIHandle_Null:
|
||||
break
|
||||
case AIHandle_Avoid:
|
||||
this.ExceAiHandle_Avoid(_ai, currhandle)
|
||||
break
|
||||
case AIHandle_Shot:
|
||||
this.ExceAiHandle_Shot(_ai, currhandle)
|
||||
break
|
||||
case AIHandle_AddBlood:
|
||||
this.ExceAiHandle_AddBlood(_ai, currhandle)
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
//躲避障碍
|
||||
func (this *aiComp) ExceAiHandle_Avoid(_ai *AI, handle *AIHandle) {
|
||||
var (
|
||||
weights []int32 = make([]int32, 0)
|
||||
conf *cfg.GameBuzkashiGradeData
|
||||
indexhandle int32
|
||||
)
|
||||
weights = append(weights, _ai.Conf.BumpFailWeight)
|
||||
weights = append(weights, _ai.Conf.BumpSuccessWeight...)
|
||||
indexhandle = comm.GetRandW(weights)
|
||||
if indexhandle == 0 { //失败
|
||||
go this.module.avoid(_ai.Bid, _ai.Uid, nil)
|
||||
} else {
|
||||
conf = this.avoidConf[indexhandle-1]
|
||||
go this.module.avoid(_ai.Bid, _ai.Uid, conf)
|
||||
}
|
||||
handle.cd = _ai.Conf.BumpCD
|
||||
}
|
||||
|
||||
//射门
|
||||
func (this *aiComp) ExceAiHandle_Shot(_ai *AI, handle *AIHandle) {
|
||||
var (
|
||||
weights []int32 = make([]int32, 0)
|
||||
conf *cfg.GameBuzkashiQteLvData
|
||||
indexhandle int32
|
||||
)
|
||||
weights = append(weights, _ai.Conf.CatchQteFailWeight)
|
||||
weights = append(weights, _ai.Conf.CatchQteSuccessWeight...)
|
||||
indexhandle = comm.GetRandW(weights)
|
||||
if indexhandle == 0 { //失败
|
||||
go this.module.qte(_ai.Bid, _ai.Uid, nil)
|
||||
} else {
|
||||
conf = this.shotConf[indexhandle-1]
|
||||
go func() {
|
||||
this.module.qte(_ai.Bid, _ai.Uid, conf)
|
||||
this.module.shot(_ai.Bid, _ai.Uid)
|
||||
}()
|
||||
}
|
||||
handle.cd = _ai.Conf.CatchQteCD
|
||||
}
|
||||
|
||||
//加血
|
||||
func (this *aiComp) ExceAiHandle_AddBlood(_ai *AI, handle *AIHandle) {
|
||||
var (
|
||||
weights []int32 = make([]int32, 0)
|
||||
indexhandle int32
|
||||
)
|
||||
weights = append(weights, _ai.Conf.HpBumpFailWeight)
|
||||
weights = append(weights, _ai.Conf.HpBumpSuccessWeight)
|
||||
indexhandle = comm.GetRandW(weights)
|
||||
if indexhandle > 0 { //失败
|
||||
go this.module.recoverhp(_ai.Bid, _ai.Uid, this.module.ModuleTools.GetGlobalConf().BuzkashiHpbumphp)
|
||||
|
||||
}
|
||||
handle.cd = _ai.Conf.CatchQteCD
|
||||
}
|
||||
|
@ -1,46 +0,0 @@
|
||||
package ai
|
||||
|
||||
import (
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
)
|
||||
|
||||
type AILevel int32
|
||||
|
||||
const (
|
||||
AILevelS AILevel = iota
|
||||
AILevelSS
|
||||
AILevelSSS
|
||||
)
|
||||
|
||||
type AIHandleType int32
|
||||
|
||||
const (
|
||||
AIHandle_Null AIHandleType = iota //空操作
|
||||
AIHandle_Avoid //躲避障碍
|
||||
AIHandle_Shot //射门
|
||||
AIHandle_AddBlood //加血
|
||||
)
|
||||
|
||||
type AIHandle struct {
|
||||
htype AIHandleType
|
||||
cd int32
|
||||
weight int32
|
||||
}
|
||||
|
||||
//捕羊大赛AI对象
|
||||
type AI struct {
|
||||
Bid string //战场id
|
||||
Uid string //用户id
|
||||
Conf *cfg.GameBukashiAiData //配置
|
||||
Handles []*AIHandle //操作列表
|
||||
Lastopttime int64 //最后一次操作时间
|
||||
}
|
||||
|
||||
func NewAI(battleid string, uid string, conf *cfg.GameBukashiAiData) (_ai *AI) {
|
||||
_ai = &AI{
|
||||
Bid: battleid,
|
||||
Uid: uid,
|
||||
Conf: conf,
|
||||
}
|
||||
return
|
||||
}
|
@ -40,7 +40,7 @@ func (this *apiComp) RecoverHp(session comm.IUserSession, req *pb.ParkourRecover
|
||||
}
|
||||
}
|
||||
//恢复hp
|
||||
go this.module.recoverhp(req.Battleid, 1, users...)
|
||||
go this.module.recoverhp(req.Battleid, req.Uid, this.module.ModuleTools.GetGlobalConf().BuzkashiHpbumphp)
|
||||
} else {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_ReqParameterError,
|
||||
|
@ -100,6 +100,18 @@ func (this *configureComp) getGameBuzkashiGrade(distance int32) (configure *cfg.
|
||||
return
|
||||
}
|
||||
|
||||
func (this *configureComp) getGameBuzkashiQteLvs() (confs []*cfg.GameBuzkashiQteLvData, err error) {
|
||||
var (
|
||||
v interface{}
|
||||
)
|
||||
if v, err = this.GetConfigure(game_buzkashiqtelv); err != nil {
|
||||
this.module.Errorf("err:%v", err)
|
||||
return
|
||||
} else {
|
||||
confs = v.(*cfg.GameBuzkashiQteLv).GetDataList()
|
||||
}
|
||||
return
|
||||
}
|
||||
func (this *configureComp) getGameBuzkashiQteLv(time float32) (configure *cfg.GameBuzkashiQteLvData, err error) {
|
||||
var (
|
||||
v interface{}
|
||||
@ -119,6 +131,7 @@ func (this *configureComp) getGameBuzkashiQteLv(time float32) (configure *cfg.Ga
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (this *configureComp) getgameBukashiAiData(id int32) (conf *cfg.GameBukashiAiData, err error) {
|
||||
var (
|
||||
v interface{}
|
||||
|
@ -4,6 +4,7 @@ import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/sys/timewheel"
|
||||
"go_dreamfactory/pb"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
"sync"
|
||||
)
|
||||
|
||||
@ -25,3 +26,65 @@ type RaceItem struct {
|
||||
BuleScore int32 //蓝方分值
|
||||
overtimer *timewheel.Task //准备倒计时定时器
|
||||
}
|
||||
|
||||
type AILevel int32
|
||||
|
||||
const (
|
||||
AILevelS AILevel = iota
|
||||
AILevelSS
|
||||
AILevelSSS
|
||||
)
|
||||
|
||||
type AIHandleType int32
|
||||
|
||||
const (
|
||||
AIHandle_Null AIHandleType = iota //空操作
|
||||
AIHandle_Avoid //躲避障碍
|
||||
AIHandle_Shot //射门
|
||||
AIHandle_AddBlood //加血
|
||||
)
|
||||
|
||||
type AIHandle struct {
|
||||
htype AIHandleType
|
||||
cd int32
|
||||
weight int32
|
||||
}
|
||||
|
||||
func NewAI(battleid string, uid string, conf *cfg.GameBukashiAiData) (_ai *AI) {
|
||||
_ai = &AI{
|
||||
Bid: battleid,
|
||||
Uid: uid,
|
||||
Conf: conf,
|
||||
Handles: make([]*AIHandle, 0),
|
||||
CD: conf.BehaviorCD,
|
||||
}
|
||||
_ai.Handles = append(_ai.Handles, &AIHandle{
|
||||
htype: AIHandle_Null,
|
||||
weight: conf.EmptyWeight,
|
||||
})
|
||||
_ai.Handles = append(_ai.Handles, &AIHandle{
|
||||
htype: AIHandle_Avoid,
|
||||
weight: conf.BumpWeight,
|
||||
cd: conf.BumpCD,
|
||||
})
|
||||
_ai.Handles = append(_ai.Handles, &AIHandle{
|
||||
htype: AIHandle_AddBlood,
|
||||
weight: conf.HpBumpWeight,
|
||||
cd: conf.HpBumpCD,
|
||||
})
|
||||
_ai.Handles = append(_ai.Handles, &AIHandle{
|
||||
htype: AIHandle_Shot,
|
||||
weight: conf.CatchQteWeight,
|
||||
cd: conf.CatchQteCD,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
//捕羊大赛AI对象
|
||||
type AI struct {
|
||||
Bid string //战场id
|
||||
Uid string //用户id
|
||||
Conf *cfg.GameBukashiAiData //配置
|
||||
Handles []*AIHandle //操作列表
|
||||
CD int32 //CD
|
||||
}
|
||||
|
@ -224,14 +224,16 @@ func (this *Parkour) startbattle(id string) {
|
||||
}
|
||||
|
||||
// 射门
|
||||
func (this *Parkour) qte(id string, uid string, conf *cfg.GameBuzkashiQteLvData) {
|
||||
this.Debug("qte", log.Field{Key: "id", Value: id})
|
||||
func (this *Parkour) qte(id string, uid string, time float32, conf *cfg.GameBuzkashiQteLvData) {
|
||||
this.Debug("qte", log.Field{Key: "id", Value: id}, log.Field{Key: "time", Value: time})
|
||||
var (
|
||||
battle *RaceItem
|
||||
side int32
|
||||
ok bool
|
||||
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
|
||||
err error
|
||||
battle *RaceItem
|
||||
side int32
|
||||
ok bool
|
||||
member *pb.DBRaceMember
|
||||
teamScores int32
|
||||
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
|
||||
err error
|
||||
)
|
||||
this.lock.RLock()
|
||||
battle, ok = this.battles[id]
|
||||
@ -242,6 +244,7 @@ func (this *Parkour) qte(id string, uid string, conf *cfg.GameBuzkashiQteLvData)
|
||||
ok = true
|
||||
v.Scores += conf.Value
|
||||
side = 1
|
||||
member = v
|
||||
}
|
||||
}
|
||||
if !ok {
|
||||
@ -250,21 +253,26 @@ func (this *Parkour) qte(id string, uid string, conf *cfg.GameBuzkashiQteLvData)
|
||||
ok = true
|
||||
v.Scores += conf.Value
|
||||
side = 2
|
||||
member = v
|
||||
}
|
||||
}
|
||||
}
|
||||
if side == 1 {
|
||||
battle.RedScore += conf.Value
|
||||
teamScores = battle.RedScore
|
||||
} else {
|
||||
battle.BuleScore += conf.Value
|
||||
teamScores = battle.BuleScore
|
||||
}
|
||||
for _, v := range battle.Session {
|
||||
sessions = append(sessions, v)
|
||||
}
|
||||
|
||||
if err = this.SendMsgToSession(string(this.GetType()), "scorechanage", &pb.ParkourScoreChanagePush{
|
||||
Redscore: battle.RedScore,
|
||||
Bluescore: battle.BuleScore,
|
||||
if err = this.SendMsgToSession(string(this.GetType()), "qteoperate", &pb.ParkourQTEOperatePush{
|
||||
Uid: uid,
|
||||
Time: time,
|
||||
Teamscore: teamScores,
|
||||
Playerscore: member.Scores,
|
||||
}, sessions...); err != nil {
|
||||
this.Errorln(err)
|
||||
}
|
||||
@ -275,11 +283,13 @@ func (this *Parkour) qte(id string, uid string, conf *cfg.GameBuzkashiQteLvData)
|
||||
func (this *Parkour) shot(id string, uid string) {
|
||||
this.Debug("shot", log.Field{Key: "id", Value: id})
|
||||
var (
|
||||
battle *RaceItem
|
||||
side int32
|
||||
ok bool
|
||||
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
|
||||
err error
|
||||
battle *RaceItem
|
||||
side int32
|
||||
ok bool
|
||||
member *pb.DBRaceMember
|
||||
teamScores int32
|
||||
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
|
||||
err error
|
||||
)
|
||||
this.lock.RLock()
|
||||
battle, ok = this.battles[id]
|
||||
@ -290,6 +300,7 @@ func (this *Parkour) shot(id string, uid string) {
|
||||
v.Scores += this.ModuleTools.GetGlobalConf().BuzkashiGoalscore
|
||||
ok = true
|
||||
side = 1
|
||||
member = v
|
||||
}
|
||||
}
|
||||
if !ok {
|
||||
@ -298,20 +309,25 @@ func (this *Parkour) shot(id string, uid string) {
|
||||
v.Scores += this.ModuleTools.GetGlobalConf().BuzkashiGoalscore
|
||||
ok = true
|
||||
side = 2
|
||||
member = v
|
||||
}
|
||||
}
|
||||
}
|
||||
if side == 1 {
|
||||
battle.RedScore += this.ModuleTools.GetGlobalConf().BuzkashiGoalteamscore
|
||||
teamScores = battle.RedScore
|
||||
} else {
|
||||
battle.BuleScore += this.ModuleTools.GetGlobalConf().BuzkashiGoalteamscore
|
||||
teamScores = battle.BuleScore
|
||||
}
|
||||
for _, v := range battle.Session {
|
||||
sessions = append(sessions, v)
|
||||
}
|
||||
if err = this.SendMsgToSession(string(this.GetType()), "scorechanage", &pb.ParkourScoreChanagePush{
|
||||
Redscore: battle.RedScore,
|
||||
Bluescore: battle.BuleScore,
|
||||
if err = this.SendMsgToSession(string(this.GetType()), "shotoperate", &pb.ParkourShotOperatePush{
|
||||
Uid: uid,
|
||||
Shotnum: member.Shot,
|
||||
Teamscore: teamScores,
|
||||
Playerscore: member.Scores,
|
||||
}, sessions...); err != nil {
|
||||
this.Errorln(err)
|
||||
}
|
||||
@ -319,14 +335,16 @@ func (this *Parkour) shot(id string, uid string) {
|
||||
}
|
||||
|
||||
// 躲避障碍物
|
||||
func (this *Parkour) avoid(id string, uid string, conf *cfg.GameBuzkashiGradeData) {
|
||||
func (this *Parkour) avoid(id string, uid string, distance float32, conf *cfg.GameBuzkashiGradeData) {
|
||||
this.Debug("shot", log.Field{Key: "id", Value: id})
|
||||
var (
|
||||
battle *RaceItem
|
||||
ok bool
|
||||
member *pb.DBRaceMember
|
||||
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
|
||||
err error
|
||||
battle *RaceItem
|
||||
winSide int32
|
||||
ok bool
|
||||
member *pb.DBRaceMember
|
||||
teamScores int32
|
||||
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
|
||||
err error
|
||||
)
|
||||
this.lock.RLock()
|
||||
battle, ok = this.battles[id]
|
||||
@ -337,6 +355,8 @@ func (this *Parkour) avoid(id string, uid string, conf *cfg.GameBuzkashiGradeDat
|
||||
if v.Uid == uid {
|
||||
member = v
|
||||
ok = true
|
||||
winSide = 1
|
||||
teamScores = battle.RedScore
|
||||
}
|
||||
}
|
||||
if !ok {
|
||||
@ -344,6 +364,8 @@ func (this *Parkour) avoid(id string, uid string, conf *cfg.GameBuzkashiGradeDat
|
||||
if v.Uid == uid {
|
||||
member = v
|
||||
ok = true
|
||||
winSide = 2
|
||||
teamScores = battle.BuleScore
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -358,21 +380,26 @@ func (this *Parkour) avoid(id string, uid string, conf *cfg.GameBuzkashiGradeDat
|
||||
|
||||
if conf == nil {
|
||||
member.Currhp -= this.ModuleTools.GetGlobalConf().BuzkashiSpeedbumphp
|
||||
member.Energy += conf.Energy
|
||||
if member.Currhp <= 0 {
|
||||
timewheel.Add(time.Second*time.Duration(this.ModuleTools.GetGlobalConf().BuzkashiResurrection), this.resurrectiontimer, battle.Id, member.Uid)
|
||||
}
|
||||
} else {
|
||||
if err = this.SendMsgToSession(string(this.GetType()), "playerhpchanage", &pb.ParkourScoreChanagePush{
|
||||
Redscore: battle.RedScore,
|
||||
Bluescore: battle.BuleScore,
|
||||
}, sessions...); err != nil {
|
||||
this.Errorln(err)
|
||||
member.Scores += conf.Value
|
||||
member.Energy += conf.Energy
|
||||
teamScores += conf.Matchvalue
|
||||
if winSide == 1 {
|
||||
battle.RedScore = teamScores
|
||||
} else {
|
||||
battle.BuleScore = teamScores
|
||||
}
|
||||
}
|
||||
|
||||
if err = this.SendMsgToSession(string(this.GetType()), "playerhpchanage", &pb.ParkourPlayerHPChanagePush{
|
||||
Change: map[string]int32{uid: member.Currhp},
|
||||
if err = this.SendMsgToSession(string(this.GetType()), "avoidoperate", &pb.ParkourAvoidOperatePush{
|
||||
Uid: uid,
|
||||
Hp: member.Currhp,
|
||||
Distance: distance,
|
||||
Teamscore: teamScores,
|
||||
Playerscore: member.Scores,
|
||||
}, sessions...); err != nil {
|
||||
this.Errorln(err)
|
||||
}
|
||||
@ -380,54 +407,55 @@ func (this *Parkour) avoid(id string, uid string, conf *cfg.GameBuzkashiGradeDat
|
||||
}
|
||||
|
||||
// 恢复hp值
|
||||
func (this *Parkour) recoverhp(id string, hp int32, uids ...string) {
|
||||
this.Debug("recoverhp", log.Field{Key: "id", Value: id}, log.Field{Key: "hp", Value: hp}, log.Field{Key: "uids", Value: uids})
|
||||
func (this *Parkour) recoverhp(id string, uid string, hp int32) {
|
||||
this.Debug("recoverhp", log.Field{Key: "id", Value: id}, log.Field{Key: "hp", Value: hp}, log.Field{Key: "uid", Value: uid})
|
||||
var (
|
||||
battle *RaceItem
|
||||
ok bool
|
||||
chanage map[string]int32 = make(map[string]int32)
|
||||
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
|
||||
err error
|
||||
battle *RaceItem
|
||||
ok bool
|
||||
player *pb.DBRaceMember
|
||||
teamScores int32
|
||||
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
|
||||
err error
|
||||
)
|
||||
this.lock.RLock()
|
||||
battle, ok = this.battles[id]
|
||||
this.lock.RUnlock()
|
||||
if ok {
|
||||
for _, v := range battle.RedMember {
|
||||
for _, v1 := range uids {
|
||||
if v.Uid == v1 {
|
||||
v.Currhp += hp
|
||||
if v.Currhp > v.Property[comm.Dhp] {
|
||||
v.Currhp = v.Property[comm.Dhp]
|
||||
}
|
||||
chanage[v.Uid] = v.Currhp
|
||||
break
|
||||
if v.Uid == uid {
|
||||
player = v
|
||||
v.Currhp += hp
|
||||
if v.Currhp > v.Property[comm.Dhp] {
|
||||
v.Currhp = v.Property[comm.Dhp]
|
||||
}
|
||||
teamScores = battle.RedScore
|
||||
break
|
||||
}
|
||||
}
|
||||
for _, v := range battle.BuleMember {
|
||||
for _, v1 := range uids {
|
||||
if v.Uid == v1 {
|
||||
v.Currhp += hp
|
||||
if v.Currhp > v.Property[comm.Dhp] {
|
||||
v.Currhp = v.Property[comm.Dhp]
|
||||
}
|
||||
chanage[v.Uid] = v.Currhp
|
||||
break
|
||||
if v.Uid == uid {
|
||||
player = v
|
||||
v.Currhp += hp
|
||||
if v.Currhp > v.Property[comm.Dhp] {
|
||||
v.Currhp = v.Property[comm.Dhp]
|
||||
}
|
||||
teamScores = battle.BuleScore
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
for _, v := range battle.Session {
|
||||
sessions = append(sessions, v)
|
||||
}
|
||||
if err = this.SendMsgToSession(string(this.GetType()), "playerhpchanage", &pb.ParkourPlayerHPChanagePush{
|
||||
Change: chanage,
|
||||
if err = this.SendMsgToSession(string(this.GetType()), "recoverhpoperate", &pb.ParkourRecoverHpOperatePush{
|
||||
Uid: uid,
|
||||
Hp: player.Currhp,
|
||||
Teamscore: teamScores,
|
||||
Playerscore: player.Scores,
|
||||
}, sessions...); err != nil {
|
||||
this.Errorln(err)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 战斗结束
|
||||
@ -748,8 +776,9 @@ func (this *Parkour) resurrectiontimer(task *timewheel.Task, args ...interface{}
|
||||
for _, v := range battle.Session {
|
||||
sessions = append(sessions, v)
|
||||
}
|
||||
if err = this.SendMsgToSession(string(this.GetType()), "playerhpchanage", &pb.ParkourPlayerHPChanagePush{
|
||||
Change: map[string]int32{uid: member.Currhp},
|
||||
if err = this.SendMsgToSession(string(this.GetType()), "revivalplayer", &pb.ParkourRevivalPlayerPush{
|
||||
Uid: uid,
|
||||
Hp: member.Currhp,
|
||||
}, sessions...); err != nil {
|
||||
this.Errorln(err)
|
||||
}
|
||||
|
@ -125,23 +125,23 @@ type DBRaceMember struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //用户id
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //用户名称
|
||||
Skin string `protobuf:"bytes,3,opt,name=skin,proto3" json:"skin"` //皮肤
|
||||
Sex int32 `protobuf:"varint,4,opt,name=sex,proto3" json:"sex"` //性别
|
||||
Dan int32 `protobuf:"varint,5,opt,name=dan,proto3" json:"dan"` //段位
|
||||
Lv int32 `protobuf:"varint,6,opt,name=lv,proto3" json:"lv"` //等级
|
||||
Mlv int32 `protobuf:"varint,7,opt,name=mlv,proto3" json:"mlv"` //坐骑等级
|
||||
Mount string `protobuf:"bytes,8,opt,name=mount,proto3" json:"mount"` //上阵坐骑
|
||||
Property map[string]int32 `protobuf:"bytes,9,rep,name=property,proto3" json:"property" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //坐骑属性
|
||||
Currhp int32 `protobuf:"varint,10,opt,name=currhp,proto3" json:"currhp"` //当前血量
|
||||
Innermost int32 `protobuf:"varint,11,opt,name=innermost,proto3" json:"innermost"` //里程数
|
||||
Ready bool `protobuf:"varint,12,opt,name=ready,proto3" json:"ready"` //是否准备
|
||||
Isai bool `protobuf:"varint,13,opt,name=isai,proto3" json:"isai"` //是否是ai
|
||||
Isoff bool `protobuf:"varint,14,opt,name=isoff,proto3" json:"isoff"` //是否离线
|
||||
Scores int32 `protobuf:"varint,15,opt,name=scores,proto3" json:"scores"` //当前分数
|
||||
Energy int32 `protobuf:"varint,16,opt,name=energy,proto3" json:"energy"` //当前能量
|
||||
Dodge int32 `protobuf:"varint,17,opt,name=dodge,proto3" json:"dodge"` //闪避次数
|
||||
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //用户id
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //用户名称
|
||||
Skin string `protobuf:"bytes,3,opt,name=skin,proto3" json:"skin"` //皮肤
|
||||
Sex int32 `protobuf:"varint,4,opt,name=sex,proto3" json:"sex"` //性别
|
||||
Dan int32 `protobuf:"varint,5,opt,name=dan,proto3" json:"dan"` //段位
|
||||
Lv int32 `protobuf:"varint,6,opt,name=lv,proto3" json:"lv"` //等级
|
||||
Mlv int32 `protobuf:"varint,7,opt,name=mlv,proto3" json:"mlv"` //坐骑等级
|
||||
Mount string `protobuf:"bytes,8,opt,name=mount,proto3" json:"mount"` //上阵坐骑
|
||||
Property map[string]int32 `protobuf:"bytes,9,rep,name=property,proto3" json:"property" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //坐骑属性
|
||||
Currhp int32 `protobuf:"varint,10,opt,name=currhp,proto3" json:"currhp"` //当前血量
|
||||
Ready bool `protobuf:"varint,12,opt,name=ready,proto3" json:"ready"` //是否准备
|
||||
Isai bool `protobuf:"varint,13,opt,name=isai,proto3" json:"isai"` //是否是ai
|
||||
Isoff bool `protobuf:"varint,14,opt,name=isoff,proto3" json:"isoff"` //是否离线
|
||||
Scores int32 `protobuf:"varint,15,opt,name=scores,proto3" json:"scores"` //当前分数
|
||||
Energy int32 `protobuf:"varint,16,opt,name=energy,proto3" json:"energy"` //当前能量
|
||||
Dodge int32 `protobuf:"varint,17,opt,name=dodge,proto3" json:"dodge"` //闪避次数
|
||||
Shot int32 `protobuf:"varint,18,opt,name=shot,proto3" json:"shot"` //射门次数
|
||||
}
|
||||
|
||||
func (x *DBRaceMember) Reset() {
|
||||
@ -246,13 +246,6 @@ func (x *DBRaceMember) GetCurrhp() int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBRaceMember) GetInnermost() int32 {
|
||||
if x != nil {
|
||||
return x.Innermost
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBRaceMember) GetReady() bool {
|
||||
if x != nil {
|
||||
return x.Ready
|
||||
@ -295,6 +288,13 @@ func (x *DBRaceMember) GetDodge() int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBRaceMember) GetShot() int32 {
|
||||
if x != nil {
|
||||
return x.Shot
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type DBRaceInvite struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@ -690,7 +690,7 @@ var File_parkour_parkour_db_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_parkour_parkour_db_proto_rawDesc = []byte{
|
||||
0x0a, 0x18, 0x70, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x2f, 0x70, 0x61, 0x72, 0x6b, 0x6f, 0x75,
|
||||
0x72, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd6, 0x03, 0x0a, 0x0c, 0x44,
|
||||
0x72, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x03, 0x0a, 0x0c, 0x44,
|
||||
0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 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,
|
||||
@ -706,99 +706,99 @@ var file_parkour_parkour_db_proto_rawDesc = []byte{
|
||||
0x65, 0x72, 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, 0x16, 0x0a, 0x06, 0x63, 0x75,
|
||||
0x72, 0x72, 0x68, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x75, 0x72, 0x72,
|
||||
0x68, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x18,
|
||||
0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74,
|
||||
0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||
0x05, 0x72, 0x65, 0x61, 0x64, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x61, 0x69, 0x18, 0x0d,
|
||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x61, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73,
|
||||
0x6f, 0x66, 0x66, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x6f, 0x66, 0x66,
|
||||
0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72,
|
||||
0x67, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79,
|
||||
0x12, 0x14, 0x0a, 0x05, 0x64, 0x6f, 0x64, 0x67, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x05, 0x64, 0x6f, 0x64, 0x67, 0x65, 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, 0x22, 0x76, 0x0a, 0x0c, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x76,
|
||||
0x69, 0x74, 0x65, 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, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61,
|
||||
0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61,
|
||||
0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c,
|
||||
0x76, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x22, 0xc5, 0x05, 0x0a, 0x09,
|
||||
0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 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,
|
||||
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, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x66, 0x6d, 0x74,
|
||||
0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x66, 0x6d, 0x74, 0x73, 0x12,
|
||||
0x10, 0x0a, 0x03, 0x6d, 0x6c, 0x76, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x6c,
|
||||
0x76, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x05, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65,
|
||||
0x72, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x50, 0x61,
|
||||
0x72, 0x6b, 0x6f, 0x75, 0x72, 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, 0x24, 0x0a,
|
||||
0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x52,
|
||||
0x61, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74,
|
||||
0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x62, 0x61, 0x74, 0x74, 0x69,
|
||||
0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x62, 0x61, 0x74,
|
||||
0x74, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18,
|
||||
0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12,
|
||||
0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a,
|
||||
0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
|
||||
0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, 0x69, 0x6e,
|
||||
0x76, 0x69, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x11,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d,
|
||||
0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x77,
|
||||
0x65, 0x65, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x77,
|
||||
0x65, 0x65, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x77, 0x65, 0x65, 0x6b, 0x72,
|
||||
0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x44, 0x42,
|
||||
0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x2e, 0x57, 0x65, 0x65, 0x6b, 0x72, 0x65, 0x77, 0x61,
|
||||
0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x65, 0x65, 0x6b, 0x72, 0x65, 0x77,
|
||||
0x61, 0x72, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x65, 0x65, 0x6b, 0x69, 0x6e, 0x74, 0x65, 0x67,
|
||||
0x72, 0x61, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x77, 0x65, 0x65, 0x6b, 0x69,
|
||||
0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 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, 0x3d, 0x0a, 0x0f, 0x57, 0x65, 0x65, 0x6b, 0x72, 0x65, 0x77, 0x61,
|
||||
0x72, 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, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
|
||||
0x02, 0x38, 0x01, 0x22, 0xad, 0x02, 0x0a, 0x06, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x12, 0x0e,
|
||||
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20,
|
||||
0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68,
|
||||
0x12, 0x1f, 0x0a, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
||||
0x09, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x72, 0x74, 0x79, 0x70,
|
||||
0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69,
|
||||
0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
|
||||
0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x72, 0x65, 0x64,
|
||||
0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44,
|
||||
0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x09, 0x72, 0x65, 0x64,
|
||||
0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x73, 0x63, 0x6f,
|
||||
0x72, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x64, 0x73, 0x63,
|
||||
0x6f, 0x72, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x6d, 0x65, 0x6d, 0x62,
|
||||
0x65, 0x72, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63,
|
||||
0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x6d, 0x65, 0x6d,
|
||||
0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65,
|
||||
0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x73, 0x63, 0x6f,
|
||||
0x72, 0x65, 0x73, 0x2a, 0x22, 0x0a, 0x08, 0x52, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12,
|
||||
0x0c, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x10, 0x00, 0x12, 0x08, 0x0a,
|
||||
0x04, 0x70, 0x72, 0x6f, 0x70, 0x10, 0x01, 0x2a, 0x44, 0x0a, 0x0d, 0x52, 0x61, 0x63, 0x65, 0x54,
|
||||
0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x74,
|
||||
0x69, 0x6e, 0x67, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67,
|
||||
0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x10, 0x02,
|
||||
0x12, 0x0b, 0x0a, 0x07, 0x72, 0x61, 0x63, 0x65, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x42, 0x06, 0x5a,
|
||||
0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x68, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28,
|
||||
0x08, 0x52, 0x05, 0x72, 0x65, 0x61, 0x64, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x61, 0x69,
|
||||
0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x61, 0x69, 0x12, 0x14, 0x0a, 0x05,
|
||||
0x69, 0x73, 0x6f, 0x66, 0x66, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x6f,
|
||||
0x66, 0x66, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e,
|
||||
0x65, 0x72, 0x67, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72,
|
||||
0x67, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x6f, 0x64, 0x67, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x05, 0x64, 0x6f, 0x64, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x68, 0x6f, 0x74,
|
||||
0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x68, 0x6f, 0x74, 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, 0x22, 0x76, 0x0a, 0x0c, 0x44, 0x42, 0x52,
|
||||
0x61, 0x63, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 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,
|
||||
0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x04, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72,
|
||||
0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65,
|
||||
0x64, 0x22, 0xc5, 0x05, 0x0a, 0x09, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 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, 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, 0x16, 0x0a,
|
||||
0x06, 0x64, 0x65, 0x66, 0x6d, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64,
|
||||
0x65, 0x66, 0x6d, 0x74, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x6c, 0x76, 0x18, 0x09, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x03, 0x6d, 0x6c, 0x76, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a,
|
||||
0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x18, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 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, 0x24, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01,
|
||||
0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61,
|
||||
0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x72,
|
||||
0x72, 0x62, 0x61, 0x74, 0x74, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63,
|
||||
0x75, 0x72, 0x72, 0x62, 0x61, 0x74, 0x74, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74,
|
||||
0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74,
|
||||
0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e,
|
||||
0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69,
|
||||
0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x10, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x76, 0x69,
|
||||
0x74, 0x65, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65,
|
||||
0x6d, 0x62, 0x65, 0x72, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52,
|
||||
0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65,
|
||||
0x72, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x65, 0x65, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x08, 0x77, 0x65, 0x65, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a,
|
||||
0x0a, 0x77, 0x65, 0x65, 0x6b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x13, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x1a, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x2e, 0x57, 0x65,
|
||||
0x65, 0x6b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77,
|
||||
0x65, 0x65, 0x6b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x65, 0x65,
|
||||
0x6b, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x0c, 0x77, 0x65, 0x65, 0x6b, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 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, 0x3d, 0x0a, 0x0f, 0x57, 0x65,
|
||||
0x65, 0x6b, 0x72, 0x65, 0x77, 0x61, 0x72, 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, 0x08, 0x52, 0x05,
|
||||
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xad, 0x02, 0x0a, 0x06, 0x44, 0x42,
|
||||
0x52, 0x61, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50,
|
||||
0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69,
|
||||
0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18,
|
||||
0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65,
|
||||
0x52, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b,
|
||||
0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69,
|
||||
0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x18, 0x05,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x12,
|
||||
0x2b, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x03,
|
||||
0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65,
|
||||
0x72, 0x52, 0x09, 0x72, 0x65, 0x64, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09,
|
||||
0x72, 0x65, 0x64, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x09, 0x72, 0x65, 0x64, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x0a, 0x62, 0x75,
|
||||
0x6c, 0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d,
|
||||
0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, 0x62,
|
||||
0x75, 0x6c, 0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x6c,
|
||||
0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62,
|
||||
0x75, 0x6c, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x2a, 0x22, 0x0a, 0x08, 0x52, 0x61, 0x63,
|
||||
0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x72,
|
||||
0x79, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x10, 0x01, 0x2a, 0x44, 0x0a,
|
||||
0x0d, 0x52, 0x61, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b,
|
||||
0x0a, 0x07, 0x72, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x74,
|
||||
0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63,
|
||||
0x68, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x72, 0x61, 0x63, 0x65, 0x69, 0x6e,
|
||||
0x67, 0x10, 0x03, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
File diff suppressed because it is too large
Load Diff
1319
pb/user_msg.pb.go
1319
pb/user_msg.pb.go
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user