From 92c2d95764617762daf18cf486317b3fb1d1748f Mon Sep 17 00:00:00 2001 From: 1 <1@72wo.cn> Date: Sat, 16 Aug 2025 03:18:48 +0000 Subject: [PATCH] =?UTF-8?q?feat(map):=20=E5=AE=9E=E7=8E=B0=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E7=83=AD=E5=BA=A6=E7=BB=9F=E8=AE=A1=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=B9=B6=E4=BC=98=E5=8C=96=E6=95=B0=E6=8D=AE=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logic/controller/maphot.go | 13 +++++++++++-- logic/service/maphot/maphot.go | 4 ++-- logic/service/space/walk.go | 19 +++++++++++++++++++ 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/logic/controller/maphot.go b/logic/controller/maphot.go index c6227207..66aaef07 100644 --- a/logic/controller/maphot.go +++ b/logic/controller/maphot.go @@ -4,15 +4,24 @@ import ( "blazing/common/data/entity" "blazing/common/socket/errorcode" "blazing/logic/service/maphot" + "blazing/logic/service/space" ) func (h Controller) MapHot(data *maphot.InInfo, c *entity.Player) (result *maphot.OutInfo, err errorcode.ErrorCode) { - result = &maphot.OutInfo{ HotInfos: make([]maphot.MapHotInfo, 0), } - return + ttt := space.GetMapHot() + for k, v := range ttt { + result.HotInfos = append(result.HotInfos, maphot.MapHotInfo{ + MapID: uint32(k), + Count: uint32(space.GetPlanet(uint32(v)).Len()), + }) + + } + + return } diff --git a/logic/service/maphot/maphot.go b/logic/service/maphot/maphot.go index 7dba06f8..ab58f825 100644 --- a/logic/service/maphot/maphot.go +++ b/logic/service/maphot/maphot.go @@ -4,8 +4,8 @@ import "blazing/common/socket/handler" // MapHotInfo 表示地图热度信息 type MapHotInfo struct { - MapID uint64 `json:"mapId"` // 地图ID - Count uint64 `json:"count"` // 地图里的人数 + MapID uint32 `json:"mapId"` // 地图ID + Count uint32 `json:"count"` // 地图里的人数 } type InInfo struct { Head handler.TomeeHeader `cmd:"1004" struc:"[0]pad"` //玩家登录 diff --git a/logic/service/space/walk.go b/logic/service/space/walk.go index e32a6e46..0d6efab0 100644 --- a/logic/service/space/walk.go +++ b/logic/service/space/walk.go @@ -8,8 +8,27 @@ import ( "blazing/modules/blazing/model" ) +func GetMapHot() map[uint32]uint32 { + + tt := make(map[uint32]uint32) + + for _, v := range xml.MapConfig.Maps { + + t1, ok := tt[uint32(v.Super)] + if ok { + tt[uint32(v.Super)] = uint32(int(t1) + GetPlanet(uint32(v.ID)).Len()) + + } else { + tt[uint32(v.Super)] = uint32(GetPlanet(uint32(v.ID)).Len()) + } + + } +return tt +} + // 获取星球 func GetPlanet(id uint32) *Space { + planet, ok := planetmap.Load(id) if ok { return planet