Files
bl/logic/service/system/System.go
昔念 84d6d99356 feat(player): 添加玩家登录状态检查和等待机制
- 在 Player 结构中添加登录状态标志和登录完成通知通道
- 实现 IsLoggedIn、WaitForLogin、WaitForLoginWithTimeout 和 WaitForLoginWithCtx 方法
- 在登录逻辑中使用 CompleteLogin 标记登录完成并通知等待者
- 在控制器中添加登录状态检查,确保处理已登录玩家的请求
2025-07-17 06:09:52 +08:00

31 lines
864 B
Go

package system
import (
"blazing/common/socket/handler"
"time"
)
// LoginSidInfo 登录携带的凭证结构体
type SystemTimeInfo struct { //这里直接使用组合来实现将传入的原始头部数据和结构体参数序列化
Head handler.TomeeHeader `cmd:"1002" struc:"[0]pad"` //玩家登录
}
func (s *SystemTimeInfo) Def() { //默认返回方法
s.Head.Set(NewSystemTimeOutboundInfo) //返回传参
}
// SystemTimeOutboundInfo 表示系统时间的出站消息
type SystemTimeOutboundInfo struct {
SystemTime uint32 `json:"systemTime"` // 对应Java的@UInt long类型
}
// NewSystemTimeOutboundInfo 创建新的系统时间消息实例
func NewSystemTimeOutboundInfo() *SystemTimeOutboundInfo {
return &SystemTimeOutboundInfo{
SystemTime: uint32(time.Now().Unix()), // 获取当前时间戳(秒)
}
}