Files
bl/logic/service/maps/walk.go
昔念 13b37b432a ```
refactor(controller): 替换用户遍历逻辑为迭代回调方式

将多个控制器中使用的 `Items()` 方法遍历用户列表的方式,
统一修改为通过 `IterCb()` 回调函数方式进行处理,
提升代码一致性与可维护性。

同时引入 `blazing/logic/service/common` 包以支持 PlayerI 接口调用。
此外,移除了未使用的 `model.Pos` 类型及相关注释,精简结构体定义。
```
2025-10-10 20:46:16 +08:00

47 lines
1.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package maps
import (
"blazing/logic/service/common"
"blazing/logic/service/player"
"blazing/logic/service/space"
"blazing/modules/blazing/model"
)
type WalkInInfo struct {
Head player.TomeeHeader `cmd:"2101" struc:"[0]pad"` //走路包
// Flag: 0为走1为飞行模式@UInt long
Flag uint32
// Point: 直接给坐标xy
Point model.Pos `fieldDesc:"直接给坐标xy"`
// Reverse2: 暂定 占位字符2
Reverse2 string `struc:"[2]byte"`
}
func (t *WalkInInfo) Broadcast(mapid uint32, o WalkOutInfo) {
space.GetSpace(mapid).User.IterCb(func(playerID uint32, player common.PlayerI) {
t.Head.Result = 0
tt := t.Head.Pack(&o)
player.SendPack(tt)
})
}
// PeopleWalkOutboundInfo PeopleWalkOutboundInfo类实现OutboundMessage接口
type WalkOutInfo struct {
// Flag: 0为走1为飞行模式
Flag uint32 `fieldDesc:"0为走1为飞行模式" codec:"uint"`
// UserID: 走动的人的米米号
UserID uint32 `fieldDesc:"走动的人的米米号" codec:"uint"`
// Point: 直接给坐标xy
Point model.Pos `fieldDesc:"直接给坐标xy"`
// Reserve2: 这个字段同C2S_People_Walk中的reserve2
Reserve2 string `struc:"[2]byte"`
}