From f64d18de82f7a66be40c991fff3b69c069966ddc Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 17 Dec 2025 20:11:28 +0800 Subject: [PATCH] message controller --- src/server/game/message_mgr.go | 15 +++++++++++++++ src/server/game/mod/msg/Msg.go | 21 +++++++++++---------- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/src/server/game/message_mgr.go b/src/server/game/message_mgr.go index 3aca0df4..5f7dc0a9 100644 --- a/src/server/game/message_mgr.go +++ b/src/server/game/message_mgr.go @@ -2,7 +2,9 @@ package game import ( "fmt" + mergeCluster "server/cluster" "server/game/mod/msg" + GoUtil "server/game_util" "server/pkg/github.com/name5566/leaf/log" ) @@ -34,3 +36,16 @@ func (m *MessageMgr) Handle(msg *msg.Msg) (interface{}, error) { log.Error("server mod key:%s handle not exist handle type:%d", m.key, msg.Type) return nil, fmt.Errorf("server mod handler err") } + +func SendMessage(m1 *msg.Msg) error { + if m1.SendT == 0 { + m1.SendT = GoUtil.Now() + } + m := m1.Clone() + err := mergeCluster.SendServerMsg(m, 1) + if err != nil { // 区服不在线 + G_GameLogicPtr.FriendMgrSend(m) + return err + } + return nil +} diff --git a/src/server/game/mod/msg/Msg.go b/src/server/game/mod/msg/Msg.go index 22415fee..b5bacc71 100644 --- a/src/server/game/mod/msg/Msg.go +++ b/src/server/game/mod/msg/Msg.go @@ -3,16 +3,17 @@ package msg import "server/game/mod/item" type Msg struct { - Type int // 消息类型 - To int // 接收者 - From int // 发送者 - Item []*item.Item // 物品 - SendT int64 // 发送时间 - End int64 // 过期时间 - Extra interface{} //额外信息 - Id int64 - UniKey string // 回调监听唯一键值 - H int //处理类型 + Type int // 消息类型 + To int // 接收者 + From int // 发送者 + Item []*item.Item // 物品 + SendT int64 // 发送时间 + End int64 // 过期时间 + Extra interface{} //额外信息 + Id int64 + UniKey string // 回调监听唯一键值 + H int //处理类型 + HandleType int //处理类型 } var MSG_ZERO_UPDATE = &Msg{Type: SERVER_ZERO_UPDATE}