From b657714a0db8b005378f5c0186401a3b90f07675 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Wed, 9 Aug 2023 21:37:18 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E5=88=B0=E5=87=BA=E7=94=9F?= =?UTF-8?q?=E7=82=B9=20=E7=9B=B4=E6=8E=A5=E5=8E=BB=E4=B8=8A=E4=B8=80?= =?UTF-8?q?=E5=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/uigame/api_latticegrid.go | 48 +++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/modules/uigame/api_latticegrid.go b/modules/uigame/api_latticegrid.go index 527e9d6b5..1f7e7f6e4 100644 --- a/modules/uigame/api_latticegrid.go +++ b/modules/uigame/api_latticegrid.go @@ -32,13 +32,47 @@ func (this *apiComp) LatticeGrid(session comm.IUserSession, req *pb.UiGameLattic update := make(map[string]interface{}, 0) list, _ := this.module.modelLattice.getLatticeList(session.GetUserId(), req.Hdid) - if _, ok := list.Gotarr[req.Grid]; ok { - session.SendMsg(string(this.module.GetType()), "latticegrid", &pb.UiGameLatticeGridResp{Data: list}) + if latticeConf, err = this.module.configure.GetLatticeConf(list.Floor); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), + } return } + + if list.Floor > 1 { // 移动到出生点 直接去上一层 + if latticeConf.Bornpos == req.Grid { + list.Floor -= 1 + update["floor"] = list.Floor + list.Curpos = 0 + update["curpos"] = list.Curpos + this.module.modelLattice.modifyLatticeListByObjId(session.GetUserId(), update) + session.SendMsg(string(this.module.GetType()), "latticegrid", &pb.UiGameLatticeGridResp{ + Data: list, + Atno: atno, + }) + return + } + } if v1, ok := list.Lattice[list.Floor]; ok { if _, ok := v1.Data[req.Grid]; ok { list.Curpos = req.Grid + if req.Grid == latticeConf.Outpos { // 宝箱关 + list.Floor += 1 + // 校验是不是达到最大层数 + if _, e := this.module.configure.GetLatticeConf(list.Floor); e != nil { + list.Floor -= 1 + } else { + list.Curpos = 0 + } + update["floor"] = list.Floor + if list.Total < list.Floor { + list.Total = list.Floor + update["total"] = list.Total + } + } + update["curpos"] = list.Curpos this.module.modelLattice.modifyLatticeListByObjId(session.GetUserId(), update) session.SendMsg(string(this.module.GetType()), "latticegrid", &pb.UiGameLatticeGridResp{ @@ -49,7 +83,6 @@ func (this *apiComp) LatticeGrid(session comm.IUserSession, req *pb.UiGameLattic } list.Lattice[list.Floor].Data[req.Grid] = 1 } else { - list.Lattice[list.Floor] = &pb.LatticeData{ Data: map[int32]int32{req.Grid: 1}, } @@ -63,11 +96,6 @@ func (this *apiComp) LatticeGrid(session comm.IUserSession, req *pb.UiGameLattic } } - // 校验 是否是宝箱 - latticeConf, err = this.module.configure.GetLatticeConf(list.Floor) - if err != nil { - return - } for _, v := range latticeConf.Chestspos { if v == req.Grid { // 发现是宝箱 if errdata, atno = this.module.DispenseAtno(session, latticeConf.Chestsward, true); errdata != nil { @@ -93,8 +121,10 @@ func (this *apiComp) LatticeGrid(session comm.IUserSession, req *pb.UiGameLattic // 校验是不是达到最大层数 if _, e := this.module.configure.GetLatticeConf(list.Floor); e != nil { list.Floor -= 1 + } else { + req.Grid = 0 // 重置出生点 } - update["Floor"] = list.Floor + update["floor"] = list.Floor if list.Total < list.Floor { list.Total = list.Floor update["total"] = list.Total