message controll优化

This commit is contained in:
hahwu 2025-12-17 19:45:53 +08:00
parent 6f4366dffc
commit 65af33758b
3 changed files with 37 additions and 1 deletions

View File

@ -0,0 +1,36 @@
package game
import (
"fmt"
"server/game/mod/msg"
"server/pkg/github.com/name5566/leaf/log"
)
type MessageMgr struct {
*ServerMod
}
type MessageData struct {
MessageList map[int64][]*msg.Msg
}
func (m *MessageMgr) MessageMgrInit() {
m.key = MESSAGE_MGR_KEY
m.data = &MessageData{}
// 注册处理函数
m.init()
}
type MessageHandlerFunc func(message *msg.Msg) (interface{}, error)
func (m *MessageMgr) RegisterMessageHandler(hType int, handler MessageHandlerFunc) {
m.RegisterHandler(hType, handler)
}
func (m *MessageMgr) Handle(msg *msg.Msg) (interface{}, error) {
if fun, ok := m.handler[msg.Type]; ok {
return fun.(MessageHandlerFunc)(msg)
}
log.Error("server mod key:%s handle not exist handle type:%d", m.key, msg.Type)
return nil, fmt.Errorf("server mod handler err")
}

View File

@ -21,6 +21,7 @@ const (
CHAMPSHIP_MGR_KEY = "CHAMPSHIP_MGR"
BAN_MGR_KEY = "BAN_MGR"
PER_SAVE_TIME = 60
MESSAGE_MGR_KEY = "MESSAGE_MGR"
)
type ServerMod struct {

View File

@ -1 +0,0 @@
package gamerpc