message controll优化
This commit is contained in:
parent
6f4366dffc
commit
65af33758b
36
src/server/game/message_mgr.go
Normal file
36
src/server/game/message_mgr.go
Normal 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")
|
||||
}
|
||||
@ -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 {
|
||||
|
||||
@ -1 +0,0 @@
|
||||
package gamerpc
|
||||
Loading…
Reference in New Issue
Block a user