message 信息修复

This commit is contained in:
hahwu 2026-03-11 17:08:00 +08:00
parent 83605e14f0
commit 22994b9cd6
2 changed files with 34 additions and 27 deletions

View File

@ -100,35 +100,42 @@ func (m *MessageMgr) MessageMgrInit() {
m.NodeRegister() m.NodeRegister()
m.CenterRegister() m.CenterRegister()
FixBug() FixBug()
log.Debug("MessageMgr initialized successfully")
} }
func FixBug() { func FixBug() {
// messageMgrData := getMessageData() messageMgrData := getMessageData()
// // 先更新 PlayerList需要加锁 // 先更新 PlayerList需要加锁
// messageMgrData.mu.Lock() messageMgrData.mu.Lock()
// defer messageMgrData.mu.Unlock() defer messageMgrData.mu.Unlock()
// now := GoUtil.Now() now := GoUtil.Now()
// for k, v := range messageMgrData.MessageList { for k, v := range messageMgrData.MessageList {
// if k < 100000 { if k < 100000 {
// delete(messageMgrData.MessageList, k) delete(messageMgrData.MessageList, k)
// continue continue
// } }
// isLose := CheckPlayerLose(int(k)) newMsgList := make([]*msg.Msg, 0, len(v.Messages))
// // 反向遍历以安全删除元素 // 反向遍历以安全删除元素
// for i := len(v.Messages) - 1; i >= 0; i-- { for _, message := range v.Messages {
// if v.Messages[i].Type == msg.HANDLE_TYPE_CHAMPSHIP_NOTIFY || (v.Messages[i].End != 0 && v.Messages[i].End < now) { if message == nil {
// // 删除消息 continue
// v.Messages = append(v.Messages[:i], v.Messages[i+1:]...) }
// } if message.Type == msg.HADNLE_TYPE_AGREE || message.Type == msg.HANDLE_TYPE_DEL {
// if isLose && v.Messages[i].Type == msg.HANDLE_TYPE_CHAMPSHIP_RESULT { newMsgList = append(newMsgList, message)
// // 删除消息 continue
// v.Messages = append(v.Messages[:i], v.Messages[i+1:]...) }
// } if message.End < now {
// } log.Debug("delete message %v", message)
// if len(v.Messages) == 0 { continue
// delete(messageMgrData.MessageList, k) }
// } newMsgList = append(newMsgList, message)
// } }
v.Messages = newMsgList
if len(v.Messages) == 0 {
log.Debug("delete messagelist uid:%d", k)
delete(messageMgrData.MessageList, k)
}
}
} }
// 注册处理器 // 注册处理器

View File

@ -204,7 +204,7 @@ func (m *Msg) Reply(data interface{}) *Msg {
func (m *Msg) String() string { func (m *Msg) String() string {
typeStr := "default" typeStr := "default"
handleTypeStr := formatHandleType(m.HandleType) handleTypeStr := formatHandleType(m.HandleType)
if m.HandleType == HANDLE_MOD_REPLY_PLAYER_MSG { if m.HandleType == HANDLE_MOD_PLAYER_MSG {
typeStr = formatType(m.Type) typeStr = formatType(m.Type)
} }
return fmt.Sprintf("Msg{Type:%s, To:%d, From:%d, SendT:%d, End:%d, Id:%d, HandleType:%s, Items:%+v, Extra:%+v}", return fmt.Sprintf("Msg{Type:%s, To:%d, From:%d, SendT:%d, End:%d, Id:%d, HandleType:%s, Items:%+v, Extra:%+v}",