Files
bl/logic/controller/map_enter.go
昔念 10eed9418c refactor(common): 重构 Conn 实体并优化地图进入逻辑
- 优化 Conn 实体的 SendPack 方法,提高代码复用性
- 添加 goja 模块到 go.work 文件
- 重构地图进入逻辑,增加玩家广播和刷怪功能
- 调整 OutInfo 结构中的 Vip 和 Viped 字段类型
- 简化 MonsterRefresh 结构体定义
2025-08-18 00:38:14 +08:00

41 lines
918 B
Go

package controller
import (
"blazing/common/data/entity"
"blazing/common/socket/errorcode"
"blazing/common/socket/handler"
"blazing/logic/service/maps"
"blazing/logic/service/space"
"time"
)
func (h *Controller) MapIn(data *maps.InInfo, c *entity.Player) (result *maps.OutInfo, err errorcode.ErrorCode) { //这个时候player应该是空的
c.MapId = data.MapId //登录地图
space.GetSpace(c.MapId).Set(c.UserID, c) //添加玩家
tt := maps.NewOutInfo()
tt.UserID = c.UserID
tt.Nick = c.Nick
tt.Pos = data.Point
data.Broadcast(c.MapId, *tt) //同步广播
go func() { //测试刷怪
for {
tt := handler.NewTomeeHeader()
tt.CMD = 2004
tt.Result = 0
tt.UserID = c.UserID
t1 := maps.OgreInfo{}
for i := 0; i < 9; i++ {
t1.Data[i] = 1
}
c.SendPack(tt.Pack(&t1))
<-time.After(10000 * time.Millisecond)
}
}()
return nil, -1
}