diff --git a/src/server/game/message_mgr.go b/src/server/game/message_mgr.go new file mode 100644 index 00000000..3aca0df4 --- /dev/null +++ b/src/server/game/message_mgr.go @@ -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") +} diff --git a/src/server/game/server_mod.go b/src/server/game/server_mod.go index 310b5233..b76b4479 100644 --- a/src/server/game/server_mod.go +++ b/src/server/game/server_mod.go @@ -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 { diff --git a/src/server/game_rpc/admin_server.go b/src/server/game_rpc/admin_server.go deleted file mode 100644 index 4930cd7d..00000000 --- a/src/server/game_rpc/admin_server.go +++ /dev/null @@ -1 +0,0 @@ -package gamerpc