Files
bl/logic/controller/CreatePlayer.go
昔念 910e866456 fix(socket): 优化 TCP 连接处理和玩家昵称处理
- 在 ServerEvent.go 中增加 TCP 连接的特殊处理逻辑,防止缓冲区溢出
- 修改 CreatePlayer.go 中的昵称处理,去除多余的空格
- 优化 mapout.go 中的玩家离开地图通知逻辑
- 在 wscodec.go 中增加对 TCP 连接的识别和处理
2025-09-13 00:42:39 +08:00

35 lines
1.0 KiB
Go

package controller
import (
"blazing/common/socket/errorcode"
"blazing/cool"
"blazing/logic/service"
"blazing/logic/service/login"
"blazing/logic/service/space"
blservice "blazing/modules/blazing/service"
"strings"
)
// 处理命令: 1001
func (h *Controller) CreatePlayer(data *login.CreatePlayerInboundInfo, c *service.Conn) (result *login.CreatePlayerOutInfo, err errorcode.ErrorCode) {
blservice.NewUserService(data.Head.UserID).Reg(cool.Filter.Replace(data.Nickname, '*'), data.Color)
return result, 0
}
func (h *Controller) ChangePlayerName(data *login.ChangePlayerNameInboundInfo, c *service.Player) (result *login.ChangePlayerNameOutboundInfo, err errorcode.ErrorCode) {
newnice := cool.Filter.Replace(strings.Trim(data.Nickname, "\x00"), '*')
c.Info.Nick = newnice
result = &login.ChangePlayerNameOutboundInfo{
Nickname: newnice,
UserID: c.ID(),
}
space.GetSpace(c.MapID()).Range(func(playerID uint32, player service.PlayerI) bool {
player.SendPack(data.Head.Pack(&result))
return true
})
return result, 0
}