2025-06-23 10:15:22 +08:00
|
|
|
package controller
|
|
|
|
|
|
|
|
|
|
import (
|
2025-07-25 23:37:02 +08:00
|
|
|
"blazing/common/data/entity"
|
2025-07-15 18:10:25 +00:00
|
|
|
"blazing/common/data/share"
|
2025-06-27 22:40:49 +08:00
|
|
|
"blazing/logic/service"
|
2025-06-23 10:15:22 +08:00
|
|
|
"blazing/logic/service/login"
|
2025-07-25 22:50:08 +08:00
|
|
|
"blazing/logic/service/maps"
|
2025-06-27 22:40:49 +08:00
|
|
|
|
|
|
|
|
"github.com/panjf2000/gnet/v2"
|
2025-06-23 10:15:22 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// 处理命令: 1001
|
2025-07-25 22:50:08 +08:00
|
|
|
func (h *Controller) Login(data *login.LoginSidInfo, c gnet.Conn) (result *maps.MapHotOutboundInfo, err service.OutInfo) { //这个时候player应该是空的
|
2025-06-26 19:40:51 +08:00
|
|
|
|
2025-07-02 22:02:56 +08:00
|
|
|
if tt := data.CheakSession(); tt { //说明sid正确
|
2025-07-15 14:00:32 +00:00
|
|
|
h.RPCClient.Kick(data.Head.UserID) //先踢人
|
2025-06-27 22:40:49 +08:00
|
|
|
|
2025-07-15 12:14:17 +08:00
|
|
|
// h.RPCClient.UserLogin(int32(h.Port), int32(data.Head.UserID)) //初始化用户登录
|
2025-07-17 06:09:52 +08:00
|
|
|
t := service.SetPlayer(c, data.Head.UserID)
|
2025-07-16 11:30:37 +08:00
|
|
|
|
2025-07-15 18:10:25 +00:00
|
|
|
share.ShareManager.SetUserOnline(data.Head.UserID, h.Port) //设置用户登录服务器
|
2025-07-17 06:09:52 +08:00
|
|
|
t.CompleteLogin() //通知客户端登录成功
|
2025-07-25 22:50:08 +08:00
|
|
|
|
2025-07-25 23:37:02 +08:00
|
|
|
r := entity.NewConn(c) //这里实现新增客户端
|
|
|
|
|
r.SendPack(data.Def())
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
err = &login.LoginErr{}
|
|
|
|
|
return
|
2025-06-27 22:40:49 +08:00
|
|
|
}
|
2025-07-25 22:50:08 +08:00
|
|
|
return
|
2025-06-23 10:15:22 +08:00
|
|
|
}
|