65 lines
2.6 KiB
Go
65 lines
2.6 KiB
Go
package msg
|
|
|
|
import (
|
|
"rocommon"
|
|
"rocommon/util"
|
|
"roserver/baseserver/model"
|
|
model2 "roserver/cross_rank/model"
|
|
"roserver/serverproto"
|
|
)
|
|
|
|
func init() {
|
|
//跨服-巅峰爬塔
|
|
//排行榜按照最大战力/阵容数据实时刷新(不是最大战力时的阵容)
|
|
serverproto.Handle_CROSSRANK_SSCrossRankUpdateNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
|
|
msg := ev.Msg().(*serverproto.SSCrossRankUpdateNtf)
|
|
util.DebugF("uid=%v SSCrossRankUpdateNtf", cliId.SessID)
|
|
|
|
err := model2.UpdateMaxFightPowerRank(cliId.SessID, msg.SelfMaxFightPower)
|
|
if err == nil {
|
|
err = model2.SetFightInfoToRedis(cliId.SessID, msg.FightInfo)
|
|
}
|
|
})
|
|
|
|
//进入最大战力排行榜玩家阵容信息更新
|
|
serverproto.Handle_CROSSRANK_SSCrossRankFightInfoUpdateNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
|
|
msg := ev.Msg().(*serverproto.SSCrossRankFightInfoUpdateNtf)
|
|
util.DebugF("uid=%v SSCrossRankFightInfoUpdateNtf", cliId.SessID)
|
|
|
|
err := model2.SetFightInfoToRedis(cliId.SessID, msg.FightInfo)
|
|
if err != nil {
|
|
util.DebugF("uid=%v SSCrossRankFightInfoUpdateNtf err=%v", cliId.SessID, err)
|
|
}
|
|
model2.UpdateMaxFightPowerRank(cliId.SessID, msg.CurSelfMaxFightPower)
|
|
})
|
|
|
|
//巅峰之塔匹配玩家
|
|
serverproto.Handle_CROSSRANK_SSCrossTopTowerMatchFightReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
|
|
msg := ev.Msg().(*serverproto.SSCrossTopTowerMatchFightReq)
|
|
util.DebugF("uid=%v SSCrossTopTowerMatchFightReq msg=%v", cliId.SessID, msg)
|
|
|
|
ssAckMsg := &serverproto.SSCrossTopTowerMatchFightAck{}
|
|
err := model2.GetTopTowerMag().GetUidByRankIdx(cliId.SessID, ssAckMsg)
|
|
ssAckMsg.Error = int32(err)
|
|
model.ServiceReplay(ev, ssAckMsg)
|
|
})
|
|
|
|
//被买路排行榜更新
|
|
serverproto.Handle_CROSSRANK_SSCrossTopTowerForceWinRankUpdateNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
|
|
msg := ev.Msg().(*serverproto.SSCrossTopTowerForceWinRankUpdateNtf)
|
|
util.DebugF("uid=%v SSCrossTopTowerForceWinRankUpdateNtf msg=%v", cliId.SessID, msg)
|
|
|
|
model2.UpdateTopTowerForceWinRank(msg.FightUid)
|
|
})
|
|
//被买路排行榜获取
|
|
serverproto.Handle_CROSSRANK_SSCrossTopTowerForceWinRankListReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
|
|
msg := ev.Msg().(*serverproto.SSCrossTopTowerForceWinRankListReq)
|
|
util.DebugF("uid=%v SSCrossTopTowerForceWinRankListReq msg=%v", cliId.SessID, msg)
|
|
|
|
ssAckMsg := &serverproto.SSCrossTopTowerForceWinRankListAck{}
|
|
model2.GetTopTowerMag().GetForceWinRankList(cliId.SessID, msg.StartIdx, ssAckMsg)
|
|
|
|
model.ServiceReplay(ev, ssAckMsg)
|
|
})
|
|
}
|