feat(maps): 重构移动广播逻辑并优化数据结构 将 WalkOutInfo 结构体迁移至 maps/info 包,并调整相关引用。 移除旧广播逻辑,改用 Space.Walk 方法进行统一广播处理。 新增 PlayerI 接口方法 SendWalkMapInfo 以支持行走信息发送。 在 Player 和 AI_player 中实现 SendWalkMapInfo 方法。 引入限流器到 space 包,用于控制广播频率。 ```
22 lines
462 B
Go
22 lines
462 B
Go
package controller
|
|
|
|
import (
|
|
"blazing/common/socket/errorcode"
|
|
"blazing/logic/service/maps"
|
|
"blazing/logic/service/maps/info"
|
|
"blazing/logic/service/player"
|
|
)
|
|
|
|
func (h Controller) Walk(data *maps.WalkInInfo, c *player.Player) (result *info.WalkOutInfo, err errorcode.ErrorCode) {
|
|
|
|
go c.GetSpace().Walk(info.WalkOutInfo{
|
|
Flag: data.Flag,
|
|
Point: data.Point,
|
|
Path: data.Path,
|
|
UserID: c.Info.UserID,
|
|
})
|
|
|
|
c.Info.Pos = data.Point
|
|
return nil, -1
|
|
}
|