This commit is contained in:
hahwu 2025-12-23 11:52:20 +08:00
parent 574b9f49a1
commit 28de534bd4
2 changed files with 25 additions and 8 deletions

View File

@ -108,7 +108,18 @@ func CatnipPartnerHandler(data *msg.Msg) (interface{}, error) {
return nil, fmt.Errorf("invalid catnip partner data") return nil, fmt.Errorf("invalid catnip partner data")
} }
return G_GameLogicPtr.VarMgr.HandleCatnipPartner(m.Uid, m.Partner, m.GameId, m.EndTime) return G_GameLogicPtr.VarMgr.HandleCatnipPartner(m.Uid, m.Partner, m.GameId, m.EndTime)
}
func ReplyPlayerMsgSync(m *msg.Msg, reply interface{}) (interface{}, error) {
clone := m.Clone()
clone.To = m.From
clone.HandleType = msg.HANDLE_MOD_REPLY_PLAYER_MSG
clone.Extra = reply
messageMgrData := getMessageData()
if node, ok := messageMgrData.PlayerList[int64(m.From)]; ok {
go SendMsgToNodeAsync(clone, node)
}
return nil, nil
} }
// 节点连接时,同步消息 // 节点连接时,同步消息

View File

@ -222,14 +222,17 @@ func SetVarDataHandler(m *msg.Msg) (interface{}, error) {
func GetUserVarDataHandler(m *msg.Msg) (interface{}, error) { func GetUserVarDataHandler(m *msg.Msg) (interface{}, error) {
data := getVarData() data := getVarData()
userVar := &VarExpireData{}
if v, ok := m.Extra.(*msg.VarData); ok { if v, ok := m.Extra.(*msg.VarData); ok {
if varData, ok := data.NewUseVar[m.From]; ok { if varData, ok := data.NewUseVar[m.From]; ok {
if userVar, ok := varData[v.Key]; ok { userVar, _ = varData[v.Key]
}
if userVar == nil {
userVar = &VarExpireData{}
}
ReplyPlayerMsgSync(m, userVar.D)
return userVar, nil return userVar, nil
} }
}
return nil, fmt.Errorf("var data not found for key %s", v.Key)
}
return nil, fmt.Errorf("invalid parameters for getting var data") return nil, fmt.Errorf("invalid parameters for getting var data")
} }
@ -278,11 +281,14 @@ func SetUserVarDataHandler(m *msg.Msg) (interface{}, error) {
func GetVarDataHandler(m *msg.Msg) (interface{}, error) { func GetVarDataHandler(m *msg.Msg) (interface{}, error) {
data := getVarData() data := getVarData()
if v, ok := m.Extra.(msg.VarData); ok { varData := &VarExpireData{}
if varData, ok := data.NewVar[v.Key]; ok { if v, ok := m.Extra.(*msg.VarData); ok {
return varData.D, nil varData, _ = data.NewVar[v.Key]
if varData == nil {
varData = &VarExpireData{}
} }
return nil, fmt.Errorf("var data not found for key %s", v.Key) ReplyPlayerMsgSync(m, varData.D)
return varData, nil
} }
return nil, fmt.Errorf("invalid parameters for getting var data") return nil, fmt.Errorf("invalid parameters for getting var data")
} }