上传代码

This commit is contained in:
liwei 2023-07-26 19:16:27 +08:00
parent f3e53499d5
commit 15ebfe8094
5 changed files with 114 additions and 62 deletions

View File

@ -573,7 +573,7 @@ type (
// bingo任务 // bingo任务
BingoJumpTask(session IUserSession, rtaskId int32) (errdata *pb.ErrorData) BingoJumpTask(session IUserSession, rtaskId int32) (errdata *pb.ErrorData)
//重置日常任务 //重置日常任务
ResetDailytaskTask(session IUserSession, groupId ...int32) (task map[int32][]int32, errdata *pb.ErrorData) ResetDailytaskTask(session IUserSession, dailytaskid int32, groupId ...int32) (results map[int32][]int32, errdata *pb.ErrorData)
//查询任务进度 //查询任务进度
InquireTaskProgress(session IUserSession, tasks ...int32) (progress []*pb.DBWTaskItem, errdata *pb.ErrorData) InquireTaskProgress(session IUserSession, tasks ...int32) (progress []*pb.DBWTaskItem, errdata *pb.ErrorData)
//查询完成列表 //查询完成列表

View File

@ -84,7 +84,7 @@ func (this *Dailytask) EventUserLogin(session comm.IUserSession) {
this.Errorln(err) this.Errorln(err)
return return
} }
if tasks, errdata = this.wtask.ResetDailytaskTask(session.Clone(), group...); errdata != nil { if tasks, errdata = this.wtask.ResetDailytaskTask(session.Clone(), key, group...); errdata != nil {
this.Errorln(errdata) this.Errorln(errdata)
return return
} }

View File

@ -20,7 +20,7 @@ func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.MainlineC
// /挑战主线关卡 // /挑战主线关卡
func (this *apiComp) Challenge(session comm.IUserSession, req *pb.MainlineChallengeReq) (errdata *pb.ErrorData) { func (this *apiComp) Challenge(session comm.IUserSession, req *pb.MainlineChallengeReq) (errdata *pb.ErrorData) {
var ( var (
curChapter *pb.DBMline // 当前章节信息 info *pb.DBMainline // 当前章节信息
ps int32 // 消耗的体力 ps int32 // 消耗的体力
psAnt *cfg.Gameatn psAnt *cfg.Gameatn
stageConf *cfg.GameMainStageData // 当前章节数据 stageConf *cfg.GameMainStageData // 当前章节数据
@ -30,16 +30,15 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.MainlineChalle
if errdata = this.ChallengeCheck(session, req); errdata != nil { if errdata = this.ChallengeCheck(session, req); errdata != nil {
return // 参数校验失败直接返回 return // 参数校验失败直接返回
} }
if stageConf, err = this.module.configure.GetMainStageConf(req.Level); err != nil { // 配置文件校验 if info, err = this.module.modelMline.getMainlineData(session.GetUserId()); err != nil {
errdata = &pb.ErrorData{ errdata = &pb.ErrorData{
Code: pb.ErrorCode_MainlineNotFindChapter, Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_MainlineNotFindChapter.ToString(), Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(), Message: err.Error(),
} }
return
} }
if v1, ok := curChapter.Ps[req.Level]; !ok || v1 == 0 { if v1, ok := info.Ps[req.Level]; !ok || v1 == 0 {
for _, v := range stageConf.PsConsume { for _, v := range stageConf.PsConsume {
if v.A == "attr" && v.T == "ps" { if v.A == "attr" && v.T == "ps" {
ps += v.N ps += v.N
@ -58,8 +57,17 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.MainlineChalle
if errdata = this.module.ConsumeRes(session, []*cfg.Gameatn{psAnt}, true); errdata != nil { if errdata = this.module.ConsumeRes(session, []*cfg.Gameatn{psAnt}, true); errdata != nil {
return return
} }
curChapter.Ps[req.Level] = ps info.Ps[req.Level] = ps
if err = this.module.modelMline.updateMainlineData(session.GetUserId(), info); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
} }
return
}
}
errdata, record := this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{ errdata, record := this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{
Ptype: pb.PlayType_mainline, Ptype: pb.PlayType_mainline,
Title: "", Title: "",

View File

@ -253,7 +253,7 @@ func (this *WTask) AcceptCaravanTask(session comm.IUserSession, groupId int32) (
} }
// 重置日常任务 // 重置日常任务
func (this *WTask) ResetDailytaskTask(session comm.IUserSession, groupId ...int32) (results map[int32][]int32, errdata *pb.ErrorData) { func (this *WTask) ResetDailytaskTask(session comm.IUserSession, dailytaskid int32, groupId ...int32) (results map[int32][]int32, errdata *pb.ErrorData) {
var ( var (
alltasks map[int32]*cfg.GameWorldTaskData = make(map[int32]*cfg.GameWorldTaskData) alltasks map[int32]*cfg.GameWorldTaskData = make(map[int32]*cfg.GameWorldTaskData)
groupTasks map[int32][]*cfg.GameWorldTaskData groupTasks map[int32][]*cfg.GameWorldTaskData
@ -262,6 +262,8 @@ func (this *WTask) ResetDailytaskTask(session comm.IUserSession, groupId ...int3
activations []int32 = make([]int32, 0) activations []int32 = make([]int32, 0)
accepts []int32 = make([]int32, 0) accepts []int32 = make([]int32, 0)
completes []int32 = make([]int32, 0) completes []int32 = make([]int32, 0)
condiIds []int32 = make([]int32, 0)
progress []*pb.DBWTaskItem
box map[int32]int32 box map[int32]int32
err error err error
ok bool ok bool
@ -316,6 +318,7 @@ func (this *WTask) ResetDailytaskTask(session comm.IUserSession, groupId ...int3
} }
for _, task := range tasks { for _, task := range tasks {
if task.Ontxe == 0 { if task.Ontxe == 0 {
condiIds = append(condiIds, task.Completetask...)
accepts = append(accepts, task.Key) accepts = append(accepts, task.Key)
if _, ok = results[v]; !ok { if _, ok = results[v]; !ok {
results[v] = make([]int32, 0) results[v] = make([]int32, 0)
@ -341,8 +344,23 @@ func (this *WTask) ResetDailytaskTask(session comm.IUserSession, groupId ...int3
wtask.Activations = activations wtask.Activations = activations
wtask.Accepts = accepts wtask.Accepts = accepts
wtask.Completes = completes wtask.Completes = completes
if len(condiIds) > 0 {
if err = this.ModuleBuried.ActiveCondition(session.GetUserId(), condiIds...); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ExternalModule,
Title: pb.ErrorCode_ExternalModule.ToString(),
Message: fmt.Sprintf("ModuleBuried.ActiveCondition uid:%s condiIds:%v", session.GetUserId(), condiIds),
}
return
}
}
//有新任务接取 //有新任务接取
this.pushtaskprogress(session, wtask, true) if progress, errdata = this.pushtaskprogress(session, wtask, false); errdata != nil {
return
}
session.SendMsg(string(this.GetType()), "acceptchange", &pb.WTaskAcceptChangePush{Accepts: progress, Dailytaskgroup: dailytaskid})
if boxchange { if boxchange {
session.SendMsg(string(this.GetType()), "boxchange", &pb.WTaskBoxChangePush{Boxs: wtask.Boxs}) session.SendMsg(string(this.GetType()), "boxchange", &pb.WTaskBoxChangePush{Boxs: wtask.Boxs})
} }
@ -690,6 +708,7 @@ func (this *WTask) inquireActivations(session comm.IUserSession, wtask *pb.DBWTa
acceptsMap map[int32]struct{} = make(map[int32]struct{}) acceptsMap map[int32]struct{} = make(map[int32]struct{})
completeMap map[int32]struct{} = make(map[int32]struct{}) completeMap map[int32]struct{} = make(map[int32]struct{})
opencmdMap map[string]struct{} = make(map[string]struct{}) opencmdMap map[string]struct{} = make(map[string]struct{})
condiIds []int32 = make([]int32, 0)
ok bool ok bool
changeActiva bool changeActiva bool
changeAccept bool changeAccept bool
@ -728,7 +747,13 @@ func (this *WTask) inquireActivations(session comm.IUserSession, wtask *pb.DBWTa
if _, ok = completeMap[v.Ontxe]; v.Ontxe != 0 && !ok { //前置任务判断 if _, ok = completeMap[v.Ontxe]; v.Ontxe != 0 && !ok { //前置任务判断
continue continue
} }
if v.Des == 5 || v.Des == 1 { //商队任务不主动触发 日常任务直接接取不进入可接取列表中 if v.Des == 5 { //商队任务不主动触发 日常任务直接接取不进入可接取列表中
continue
}
if v.Des == 1 {
changeAccept = true
wtask.Accepts = append(wtask.Activations, v.Key)
condiIds = append(condiIds, v.Completetask...)
continue continue
} }
wtask.Activations = append(wtask.Activations, v.Key) wtask.Activations = append(wtask.Activations, v.Key)
@ -747,6 +772,14 @@ func (this *WTask) inquireActivations(session comm.IUserSession, wtask *pb.DBWTa
} }
if changeAccept { if changeAccept {
if err = this.ModuleBuried.ActiveCondition(session.GetUserId(), condiIds...); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ExternalModule,
Title: pb.ErrorCode_ExternalModule.ToString(),
Message: fmt.Sprintf("ModuleBuried.ActiveCondition uid:%s condiIds:%v", session.GetUserId(), condiIds),
}
return
}
progress, errdata = this.pushtaskprogress(session, wtask, ispush) progress, errdata = this.pushtaskprogress(session, wtask, ispush)
} }
return return

View File

@ -625,7 +625,8 @@ type WTaskAcceptChangePush struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Accepts []*DBWTaskItem `protobuf:"bytes,2,rep,name=accepts,proto3" json:"accepts"` //已接取任务列表 Accepts []*DBWTaskItem `protobuf:"bytes,1,rep,name=accepts,proto3" json:"accepts"` //已接取任务列表
Dailytaskgroup int32 `protobuf:"varint,2,opt,name=dailytaskgroup,proto3" json:"dailytaskgroup"` //日常任务组id
} }
func (x *WTaskAcceptChangePush) Reset() { func (x *WTaskAcceptChangePush) Reset() {
@ -667,6 +668,13 @@ func (x *WTaskAcceptChangePush) GetAccepts() []*DBWTaskItem {
return nil return nil
} }
func (x *WTaskAcceptChangePush) GetDailytaskgroup() int32 {
if x != nil {
return x.Dailytaskgroup
}
return 0
}
//战斗 请求 //战斗 请求
type WTaskBattleStartReq struct { type WTaskBattleStartReq struct {
state protoimpl.MessageState state protoimpl.MessageState
@ -1114,53 +1122,56 @@ var file_wtask_wtask_msg_proto_rawDesc = []byte{
0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43,
0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x74,
0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b,
0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3f, 0x0a, 0x15, 0x57, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x67, 0x0a, 0x15, 0x57,
0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
0x50, 0x75, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x18, 0x50, 0x75, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x18,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x49,
0x74, 0x65, 0x6d, 0x52, 0x07, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x22, 0x63, 0x0a, 0x13, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0e,
0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x74, 0x61, 0x73, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02,
0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x74, 0x61, 0x73, 0x6b, 0x67,
0x66, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x63, 0x0a, 0x13, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74,
0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x62,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12,
0x65, 0x22, 0x5b, 0x0a, 0x14, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x28, 0x0a, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x6e, 0x52, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x22, 0x5b, 0x0a, 0x14, 0x57, 0x54, 0x61,
0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73,
0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49,
0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43,
0x0a, 0x14, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20,
0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x61, 0x0a, 0x14, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42,
0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x22,
0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x18, 0x01,
0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66,
0x74, 0x22, 0x3b, 0x0a, 0x15, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01,
0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72,
0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x3b, 0x0a, 0x15, 0x57, 0x54, 0x61,
0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x22, 0x8d, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65,
0x01, 0x0a, 0x12, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66,
0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x31, 0x0a, 0x04, 0x62, 0x6f, 0x78, 0x73, 0x18, 0x01, 0x20, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65,
0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, 0x43, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x22, 0x8d, 0x01, 0x0a, 0x12, 0x57, 0x54, 0x61, 0x73, 0x6b,
0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x2e, 0x42, 0x6f, 0x78, 0x73, 0x45, 0x6e, 0x74, 0x42, 0x6f, 0x78, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x31, 0x0a,
0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x78, 0x73, 0x1a, 0x44, 0x0a, 0x09, 0x42, 0x6f, 0x78, 0x73, 0x04, 0x62, 0x6f, 0x78, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x57, 0x54,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68,
0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x42, 0x6f, 0x78, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x78, 0x73,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x1a, 0x44, 0x0a, 0x09, 0x42, 0x6f, 0x78, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x42, 0x6f, 0x78, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3c, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x0a, 0x12, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b,
0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x05, 0x52, 0x03, 0x74, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x78, 0x69, 0x64, 0x18, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3c, 0x0a, 0x12, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x6f, 0x78, 0x69, 0x64, 0x22, 0x60, 0x0a, 0x13, 0x6f, 0x78, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03,
0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x69, 0x64, 0x12, 0x14,
0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x0a, 0x05, 0x62, 0x6f, 0x78, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62,
0x52, 0x03, 0x74, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x78, 0x69, 0x64, 0x18, 0x02, 0x6f, 0x78, 0x69, 0x64, 0x22, 0x60, 0x0a, 0x13, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x6f, 0x78, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x74,
0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x69, 0x64, 0x12, 0x14, 0x0a,
0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x42, 0x06, 0x05, 0x62, 0x6f, 0x78, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x6f,
0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x78, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52,
0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (