2025-08-15 22:44:28 +08:00
|
|
|
package maps
|
|
|
|
|
|
2025-08-16 00:23:43 +08:00
|
|
|
import (
|
2025-09-04 02:00:57 +08:00
|
|
|
"blazing/logic/service"
|
2025-08-16 00:23:43 +08:00
|
|
|
"blazing/logic/service/space"
|
|
|
|
|
)
|
2025-08-15 22:44:28 +08:00
|
|
|
|
|
|
|
|
type LeaveMapOutboundInfo struct {
|
|
|
|
|
// 米米号
|
|
|
|
|
UserID uint32 `struc:"uint32" fieldDesc:"米米号" json:"user_id"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type LeaveMapInboundInfo struct {
|
2025-09-04 02:00:57 +08:00
|
|
|
Head service.TomeeHeader `cmd:"2002" struc:"[0]pad"` //切换地图
|
2025-08-15 22:44:28 +08:00
|
|
|
}
|
2025-08-16 00:23:43 +08:00
|
|
|
|
|
|
|
|
func (t *LeaveMapInboundInfo) Broadcast(mapid uint32, o LeaveMapOutboundInfo) {
|
|
|
|
|
|
2025-09-04 02:00:57 +08:00
|
|
|
space.GetSpace(mapid).Range(func(playerID uint32, player service.PlayerI) bool {
|
2025-08-17 21:55:15 +08:00
|
|
|
t.Head.Result = 0
|
2025-08-16 00:23:43 +08:00
|
|
|
|
2025-08-17 21:55:15 +08:00
|
|
|
player.SendPack(t.Head.Pack(&o))
|
2025-08-16 00:23:43 +08:00
|
|
|
return true
|
|
|
|
|
})
|
|
|
|
|
}
|
2025-09-04 02:00:57 +08:00
|
|
|
|
|
|
|
|
func LeaveMap(c service.PlayerI) {
|
|
|
|
|
t := service.NewTomeeHeader(2002, c.ID())
|
|
|
|
|
|
|
|
|
|
space.GetSpace(c.MapID()).Range(func(playerID uint32, player service.PlayerI) bool {
|
|
|
|
|
|
|
|
|
|
player.SendPack(t.Pack(&LeaveMapOutboundInfo{UserID: c.ID()}))
|
|
|
|
|
return true
|
|
|
|
|
})
|
|
|
|
|
space.GetSpace(c.MapID()).Delete(c.ID())
|
|
|
|
|
}
|