feat(maps): 重构移动广播逻辑并优化数据结构 将 WalkOutInfo 结构体迁移至 maps/info 包,并调整相关引用。 移除旧广播逻辑,改用 Space.Walk 方法进行统一广播处理。 新增 PlayerI 接口方法 SendWalkMapInfo 以支持行走信息发送。 在 Player 和 AI_player 中实现 SendWalkMapInfo 方法。 引入限流器到 space 包,用于控制广播频率。 ```
27 lines
800 B
Go
27 lines
800 B
Go
package common
|
|
|
|
import (
|
|
"blazing/logic/service/fight/info"
|
|
maps "blazing/logic/service/maps/info"
|
|
"blazing/modules/blazing/model"
|
|
)
|
|
|
|
type PlayerI interface {
|
|
GetPlayerCaptureContext() *info.PlayerCaptureContext
|
|
Roll(int, int) (bool, float64, float64)
|
|
SendPack(b []byte) error
|
|
SendReadyToFightInfo(info.FightStartOutboundInfo)
|
|
SendNoteReadyToFightInfo(info.NoteReadyToFightInfo)
|
|
Send_ARENA_GET_INFO(b info.S2C_ARENA_GET_INFO)
|
|
SendFightEndInfo(info.FightOverInfo)
|
|
GetInfo() *model.PlayerInfo
|
|
SendAttackValue(info.AttackValueS)
|
|
SendChangePet(info.ChangePetInfo)
|
|
SendUsePetItemInfo(info.UsePetIteminfo)
|
|
SendLoadPercent(info.LoadPercentOutboundInfo)
|
|
SetFightC(FightI)
|
|
SendLeaveMapInfo(b maps.LeaveMapOutboundInfo)
|
|
SendEnterMapInfo(b maps.OutInfo)
|
|
SendWalkMapInfo(b maps.WalkOutInfo)
|
|
}
|