From ad43fc8173bab026e21bf1263454ca5e3e80948b Mon Sep 17 00:00:00 2001 From: xinian Date: Fri, 27 Feb 2026 11:06:03 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E8=8A=82=E7=82=B9=E6=95=B0=E6=8D=AE=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将获取地图Boss信息的过滤逻辑从循环中移至GetDataB方法 --- logic/service/space/space.go | 24 +++++++++++------------- modules/config/service/map_node.go | 8 ++++++++ 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/logic/service/space/space.go b/logic/service/space/space.go index 46ce30e9..12bf9486 100644 --- a/logic/service/space/space.go +++ b/logic/service/space/space.go @@ -104,21 +104,19 @@ func GetSpace(id uint32) *Space { // ret.CanWeather = 1 cool.Cron.CustomFunc(ret, ret.GenWer) } - for _, v := range service.NewMapNodeService().GetData(ret.ID) { - - if v.IsBroadcast != 0 { //说明是地图怪 - info := info.MapBossInfo{ - Id: v.TriggerID, - Region: v.NodeID, //这个是注册的index - Hp: v.HP, - PosInfo: ParseCoordinateString(v.Pos), - MaxHP: int(v.HP), - Wer: v.Weather, - } - - ret.MapBossSInfo.INFO = append(ret.MapBossSInfo.INFO, info) + for _, v := range service.NewMapNodeService().GetDataB(ret.ID) { + info := info.MapBossInfo{ + Id: v.TriggerID, + Region: v.NodeID, //这个是注册的index + Hp: v.HP, + PosInfo: ParseCoordinateString(v.Pos), + MaxHP: int(v.HP), + Wer: v.Weather, } + + ret.MapBossSInfo.INFO = append(ret.MapBossSInfo.INFO, info) + } if len(ret.MapBossSInfo.INFO) > 0 { diff --git a/modules/config/service/map_node.go b/modules/config/service/map_node.go index 9c4cdf59..828f6645 100644 --- a/modules/config/service/map_node.go +++ b/modules/config/service/map_node.go @@ -27,6 +27,14 @@ func (s *MapNodeService) GetData(mapid uint32) []model.MapNode { return pet +} +func (s *MapNodeService) GetDataB(mapid uint32) []model.MapNode { + + var pet []model.MapNode //一个特性应该是唯一的,但是我们要获取默认随机特性 + dbm_enable(s.Model).Where("map_id", mapid).Where("is_broadcast", 1).Scan(&pet) + + return pet + } func (s *MapNodeService) GetDataNode(mapid, node uint32) *model.MapNode {