From f4caf2d0c95a41a52f62743054e93aaa1e27536b Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Tue, 9 Jan 2024 16:06:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=9F=8B=E7=82=B9=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- comm/pool.go | 11 +++++++++-- modules/buried/api_info.go | 7 ++++++- modules/buried/module.go | 19 ++++++++++++------- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/comm/pool.go b/comm/pool.go index 753320887..79210eefb 100644 --- a/comm/pool.go +++ b/comm/pool.go @@ -2,6 +2,7 @@ package comm import ( "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" "sync" ) @@ -50,15 +51,21 @@ var buriedConIProgressPool = &sync.Pool{ } // 普通任务 -func GetBuriedConIProgress(btype int32, item *pb.DBBuriedConItem) *pb.ConIProgress { +func GetBuriedConIProgress(conf *cfg.GameBuriedCondiData, item *pb.DBBuriedConItem) *pb.ConIProgress { progress := buriedConIProgressPool.Get().(*pb.ConIProgress) - progress.Btype = btype + progress.Btype = conf.Ctype progress.Conid = item.Conid + progress.Target = conf.Value progress.Value = item.Value progress.State = item.Finish return progress } +// 普通任务 +func GetBuriedConIProgress2() *pb.ConIProgress { + progress := buriedConIProgressPool.Get().(*pb.ConIProgress) + return progress +} func PutburiedConIProgress(r *pb.ConIProgress) { buriedConIProgressPool.Put(r) } diff --git a/modules/buried/api_info.go b/modules/buried/api_info.go index 1a6d04756..02dfa0060 100644 --- a/modules/buried/api_info.go +++ b/modules/buried/api_info.go @@ -4,6 +4,7 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/log" "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" ) //参数校验 @@ -16,6 +17,7 @@ func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.BuriedInfoReq) func (this *apiComp) Info(session comm.IUserSession, req *pb.BuriedInfoReq) (errdata *pb.ErrorData) { var ( buried *pb.DBBuried + conf *cfg.GameBuriedCondiData conditions []*pb.ConIProgress err error ) @@ -35,7 +37,10 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.BuriedInfoReq) (err conditions = make([]*pb.ConIProgress, 0) for _, items := range buried.Items { for _, v := range items.Condi { - conditions = append(conditions, comm.GetBuriedConIProgress(items.Btype, v)) + if conf, err = this.module.configure.getburiedcondidata(v.Conid); err != nil { + return + } + conditions = append(conditions, comm.GetBuriedConIProgress(conf, v)) } } session.SendMsg(string(this.module.GetType()), "info", &pb.BuriedInfoResp{Conitems: conditions}) diff --git a/modules/buried/module.go b/modules/buried/module.go index a2e8e97ee..bf7bf973e 100644 --- a/modules/buried/module.go +++ b/modules/buried/module.go @@ -656,13 +656,13 @@ func (this *Buried) trigger(session comm.IUserSession, burieds ...*pb.BuriedPara continue } if change, bitem, err = this.updateAndCheckBuried(bconf, bdata, buried, cond, autoActivated); change { - cp := &pb.ConIProgress{ - Btype: bdata.Btype, - Conid: cond.Id, - Value: bitem.Value, - Target: cond.Value, - State: bitem.Finish, - } + cp := comm.GetBuriedConIProgress2() + cp.Btype = bdata.Btype + cp.Conid = cond.Id + cp.Value = bitem.Value + cp.Target = cond.Value + cp.State = bitem.Finish + changes = append(changes, cp) if len(cond.Notify) > 0 { for _, mname := range cond.Notify { @@ -704,6 +704,11 @@ func (this *Buried) trigger(session comm.IUserSession, burieds ...*pb.BuriedPara } } + //回收 + for _, v := range changes { + comm.PutburiedConIProgress(v) + } + } // 更新并校验完成