| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871 |
- package msg
- import (
- "rocommon"
- "rocommon/util"
- "roserver/baseserver/model"
- rankMode "roserver/rank/model"
- "roserver/serverproto"
- )
- func init() {
- ///MapRank
- //地图挑战进度变更(大地图显示使用)
- serverproto.Handle_RANK_SSMapLevelChangeReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSMapLevelChangeReq)
- util.DebugF("receive SSMapLevelChangeReq msg=%v uid=%v", msg, cliId.SessID)
- ackMsg := &serverproto.SSMapLevelChangeAck{
- Error: int32(serverproto.ErrorCode_ERROR_BATTLE_NOT_IN_RANK),
- //Error: int32(serverproto.ErrorCode_ERROR_FAIL),
- Notify: false,
- }
- if msg.IsHard == 1 {
- var selfRank uint32 = 0
- var totalRank uint32 = 0
- var battleRecordId uint64 = 0
- //获取排名
- if msg.NewMapLevelId == 0 && msg.PassTime == 0 {
- selfRank, totalRank = rankMode.GetMapHardRank(cliId.SessID)
- ackMsg.Notify = true
- } else {
- //设置排名
- selfRank, totalRank, battleRecordId = rankMode.AddHardMapRank(cliId.SessID, msg.NewMapLevelId, msg.PassTime, msg.RecordInfo)
- ackMsg.BattleRecordId = battleRecordId
- ackMsg.RecordTimeStamp = msg.RecordInfo.RecordTime
- }
- if totalRank > 0 {
- ackMsg.Error = int32(serverproto.ErrorCode_ERROR_OK)
- ackMsg.Rank = selfRank + 1
- }
- ackMsg.RankPlayers = totalRank
- ackMsg.TopPlayerList = append(rankMode.MapHardRankTopThree)
- } else if msg.IsHard == 2 {
- var selfRank uint32 = 0
- var totalRank uint32 = 0
- var battleRecordId uint64 = 0
- //获取排名
- if msg.NewMapLevelId == 0 && msg.PassTime == 0 {
- selfRank, totalRank = rankMode.GetMapHard2Rank(cliId.SessID)
- ackMsg.Notify = true
- } else {
- //设置排名
- selfRank, totalRank, battleRecordId = rankMode.AddHard2MapRank(cliId.SessID, msg.NewMapLevelId, msg.PassTime, msg.RecordInfo)
- ackMsg.BattleRecordId = battleRecordId
- ackMsg.RecordTimeStamp = msg.RecordInfo.RecordTime
- }
- if totalRank > 0 {
- ackMsg.Error = int32(serverproto.ErrorCode_ERROR_OK)
- ackMsg.Rank = selfRank + 1
- }
- ackMsg.RankPlayers = totalRank
- ackMsg.TopPlayerList = append(rankMode.MapHard2RankTopThree)
- } else {
- var selfRank uint32 = 0
- var totalRank uint32 = 0
- var battleRecordId uint64 = 0
- //获取排名
- if msg.NewMapLevelId == 0 && msg.PassTime == 0 {
- selfRank, totalRank = rankMode.GetMapRank(cliId.SessID)
- ackMsg.Notify = true
- } else {
- //设置排名
- selfRank, totalRank, battleRecordId = rankMode.AddMapRank(cliId.SessID, msg.NewMapLevelId, msg.PassTime, msg.RecordInfo)
- ackMsg.BattleRecordId = battleRecordId
- ackMsg.RecordTimeStamp = msg.RecordInfo.RecordTime
- }
- if totalRank > 0 {
- ackMsg.Error = int32(serverproto.ErrorCode_ERROR_OK)
- ackMsg.Rank = selfRank + 1
- }
- ackMsg.RankPlayers = totalRank
- ackMsg.TopPlayerList = append(rankMode.MapRankTopThree)
- }
- util.DebugF("SSMapLevelChangeReq ackMsg=%v uid=%v newmaplevel=%v selfRank=%v", ackMsg, cliId.SessID, msg.NewMapLevelId, ackMsg.Rank)
- model.ServiceReplay(ev, ackMsg)
- })
- //set max fight power rank
- serverproto.Handle_RANK_SSMaxFightPowerRankNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSMaxFightPowerRankNtf)
- util.DebugF("receive SSMaxFightPowerRankNtf msg:%v [%v]", msg, cliId.SessID)
- rankMode.AddMaxFightPowerRank(cliId.SessID, msg.MaxFightPower)
- })
- ///Arena
- //set arena score rank
- serverproto.Handle_RANK_SSArenaScoreRankNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSArenaScoreRankNtf)
- util.DebugF("receive SSArenaScoreRankNtf msg:%v [%v]", msg, cliId.SessID)
- rankMode.SetArenaScoreRank(cliId.SessID, msg.Score, util.GetTimeMilliseconds(),
- msg.OldScore, msg.MinTopScore, msg.TopRankNum)
- })
- //获取英灵殿赛季排行榜 arena
- serverproto.Handle_RANK_SSArenaRankListReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSArenaRankListReq)
- util.DebugF("receive SSArenaRankListReq msg:%v [%v]", msg, cliId.SessID)
- ssAckMsg := &serverproto.SSArenaRankListAck{
- Error: int32(serverproto.ErrorCode_ERROR_OK),
- RankType: msg.RankType,
- StartIdx: msg.StartIdx,
- }
- selfRank := rankMode.GetArenaRankList(cliId.SessID, msg.RankType, msg.StartIdx, msg.LastSeasonId, ssAckMsg)
- if selfRank > 0 {
- ssAckMsg.SelfRank = selfRank
- }
- model.ServiceReplay(ev, ssAckMsg)
- })
- //获取英灵殿赛季奖励
- serverproto.Handle_RANK_SSArenaRankRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSArenaRankRewardReq)
- util.DebugF("receive SSArenaRankRewardReq msg:%v [%v]", msg, cliId.SessID)
- selfRank, seasonId := rankMode.GetArenaRankReward(msg.Uid, msg.Score, msg.SeasonId)
- ssAckMsg := &serverproto.SSArenaRankRewardAck{
- SelfRank: selfRank,
- RewardSeasonId: seasonId,
- }
- model.ServiceReplay(ev, ssAckMsg)
- })
- //更新英灵殿赛季数据(生成赛季排行榜)
- serverproto.Handle_RANK_SSArenaRankUpdateReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSArenaRankUpdateReq)
- util.DebugF("receive SSArenaRankUpdateReq msg:%v [%v]", msg, cliId.SessID)
- ssAckMsg := &serverproto.SSArenaRankUpdateAck{
- RewardSeasonId: msg.LastSeasonId,
- }
- ret := rankMode.UpdateArenaRank(msg.LastSeasonId, &(msg.RewardPlayerList), &(ssAckMsg.RewardPlayerList))
- ssAckMsg.Error = int32(ret)
- model.ServiceReplay(ev, ssAckMsg)
- })
- ///Competition
- //获取对应赛季信息 from game
- serverproto.Handle_RANK_SSGetCompetitionDataReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGetCompetitionDataReq)
- util.DebugF("uid=%v receive SSGetCompetitionDataReq msg=%v", cliId.SessID, msg)
- ssAckMsg := &serverproto.SSGetCompetitionDataAck{
- Error: int32(serverproto.ErrorCode_ERROR_OK),
- CompetitionData: &serverproto.CompetitionInfo{
- CompetitionId: msg.CompetitionId,
- },
- }
- rankMode.CompetitionMag.GetCompetitionData(cliId.SessID, msg.CompetitionId, msg.SubIdNum,
- msg.IsNowCompetition, (model.CompetitionType)(msg.CompetitionType), ssAckMsg)
- model.ServiceReplay(ev, ssAckMsg)
- })
- //赛季结算奖励 from game
- serverproto.Handle_RANK_SSCompetitionRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSCompetitionRewardReq)
- util.DebugF(" uid=%v receive SSCompetitionRewardReq msg=%v ", cliId.SessID, msg)
- ssAckMsg := &serverproto.SSCompetitionRewardAck{
- CompetitionId: msg.CompetitionId,
- }
- rankMode.CompetitionMag.CompetitionFinish(msg, ssAckMsg)
- model.ServiceReplay(ev, ssAckMsg)
- })
- //更新积分赛季排名 from game
- serverproto.Handle_RANK_SSCompetitionUpdateScoreReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSCompetitionUpdateScoreReq)
- util.DebugF("uid=%v receive SSCompetitionUpdateScoreReq msg=%v", cliId.SessID, msg)
- curVoteTicket := msg.CurVoteScore
- totalScore := int32(0)
- if msg.CompetitionId == int32(model.CompetitionType_Idol) {
- totalScore = rankMode.CompetitionMag.FansVoteChange(msg.Uid, msg.FansUid, msg.CurVoteScore, msg.CompetitionId)
- //redis查询出错,就不能继续走下去了
- if totalScore == -1 {
- return
- }
- //在rank计算被投票人总票数()
- msg.Score = totalScore
- }
- //老的投票流程 开始
- ssAckMsg := &serverproto.SSCompetitionUpdateScoreAck{
- CompetitionId: msg.CompetitionId,
- }
- rankMode.CompetitionMag.UpdateRankByScore(msg.CompetitionId, msg.Uid, msg.Score, ssAckMsg)
- model.ServiceReplay(ev, ssAckMsg)
- //老的投票流程 结束
- if msg.CompetitionId == int32(model.CompetitionType_Idol) {
- ntfMsg := &serverproto.SSCompetitionOnVoteNtf{
- Uid: msg.Uid,
- VoteTarget: &serverproto.FansRankData{
- Uid: msg.Uid,
- },
- TicketCount: curVoteTicket,
- }
- rankMode.CompetitionMag.GetVoteDetail(msg.CompetitionId, ntfMsg)
- model.ServiceReplay(ev, ntfMsg)
- }
- })
- //上线时一次性获取历史赛季奖励 from game
- serverproto.Handle_RANK_SSCompetitionRewardHistoryReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSCompetitionRewardHistoryReq)
- util.DebugF("uid=%v receive SSCompetitionRewardHistoryReq msg=%v", cliId.SessID, msg)
- ssAckMsg := &serverproto.SSCompetitionRewardHistoryAck{
- ECompetitionId: msg.ECompetitionId,
- ECompetitionSubId: msg.ECompetitionSubId,
- }
- rankMode.CompetitionMag.GetHistoryCompetitionReward(cliId.SessID,
- msg.SCompetitionId, msg.SCompetitionSubId, msg.ECompetitionId, msg.ECompetitionSubId, ssAckMsg)
- if len(ssAckMsg.RewardUidList) > 0 {
- model.ServiceReplay(ev, ssAckMsg)
- }
- })
- //更新通关战力//查看是否更新全服排名
- serverproto.Handle_RANK_SSTowerPassFightPowerNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSTowerPassFightPowerNtf)
- util.DebugF("uid=%v receive SSTowerPassFightPowerNtf msg=%v", cliId.SessID, msg)
- if msg.Type == 1 {
- rankMode.AddTowerWjLevelRank(msg.TowerBfInfo.CommonInfo)
- } else {
- //处理是否更新最新排名
- bRet := false
- if msg.IsGm == false {
- bRet = rankMode.TowerMag.AddMinFightList(msg.TowerBfInfo)
- } else {
- bRet = rankMode.TowerMag.AddMinFightListGM(msg.TowerBfInfo)
- }
- if bRet == true { //如果当前战斗有突破,则通知这个玩家最小战力通关榜
- ackMsg := &serverproto.SSTowerMinFightPowerAck{
- BattleRecordId: msg.TowerBfInfo.CommonInfo.BattleRecordId,
- RecordTimeStamp: msg.RecordTimeStamp,
- Notify: true,
- }
- rankMode.TowerMag.GetMinFightList(msg.TowerBfInfo.CommonInfo.TowerLevel, ackMsg)
- model.ServiceReplay(ev, ackMsg)
- }
- //处理更新全服排名
- rankMode.TowerMag.AddTowerLevelRank(msg.TowerBfInfo.CommonInfo)
- }
- })
- //请求通关最小战力
- serverproto.Handle_RANK_SSTowerMinFightPowerReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSTowerMinFightPowerReq)
- util.DebugF("uid=%v receive SSTowerMinFightPowerReq msg=%v", cliId.SessID, msg)
- //请求最小通关榜
- ackMsg := &serverproto.SSTowerMinFightPowerAck{}
- rankMode.TowerMag.GetMinFightList(msg.TowerLevel, ackMsg)
- model.ServiceReplay(ev, ackMsg)
- })
- //请求关卡排名
- serverproto.Handle_RANK_SSPassTowerLevelRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSPassTowerLevelRankReq)
- util.DebugF("uid=%v receive SSPassTowerLevelRankReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSPassTowerLevelRankAck{}
- //无尽模式
- if msg.Type == 1 {
- ackMsg.Type = 1
- rankMode.GetTopTowerWjRank(msg.Uid, ackMsg)
- } else {
- rankMode.TowerMag.GetTopTowerRank(msg.Uid, ackMsg)
- }
- model.ServiceReplay(ev, ackMsg)
- })
- //无尽模式关卡排名刷新
- serverproto.Handle_RANK_SSTowerWjRankUpdateReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSTowerWjRankUpdateReq)
- util.DebugF("uid=%v receive SSPassTowerLevelRankReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSTowerWjRankUpdateAck{}
- ackMsg.RewardPlayerList = rankMode.RefreshTopTowerWjRank()
- model.ServiceReplay(ev, ackMsg)
- })
- serverproto.Handle_RANK_CSPlayerBattleRecordReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSPlayerBattleRecordReq)
- util.DebugF("uid=%v receive CSPlayerBattleRecordReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SCPlayerBattleRecordAck{
- Error: int32(serverproto.ErrorCode_ERROR_OK),
- }
- recordType := msg.RecordType / 100
- //subRecordType := msg.RecordType % 100
- if recordType == int32(serverproto.BattleRecordType_BattleRecordType_Normal) {
- rankMode.GetBattleRecordMap(ackMsg, msg.ParamList)
- }
- model.ServiceReplay(ev, ackMsg)
- })
- serverproto.Handle_RANK_SSCardCollectionChangeNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSCardCollectionChangeNtf)
- util.DebugF("uid=%v receive SSCardCollectionChangeNtf msg=%v", cliId.SessID, msg)
- rankMode.CardCollectMag.OnCardCollectChange(msg.Uid, msg.CardId, msg.CardLevel)
- })
- serverproto.Handle_RANK_CSCardCollectionRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSCardCollectionRankReq)
- util.DebugF("uid=%v receive CSCardCollectionRankReq msg=%v", cliId.SessID, msg)
- rankMode.CardCollectMag.CardRankInfo(msg, ev)
- })
- ///百人道场
- //获取玩家自身占位信息
- serverproto.Handle_RANK_CSDaoChang100PlayerInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSDaoChang100PlayerInfoReq)
- util.DebugF("uid=%v receive CSDaoChang100PlayerInfoReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SCDaoChang100PlayerInfoAck{}
- rankMode.DaoChang100Mag.GetPosInfoByUid(msg.PlayerUid, ackMsg)
- model.ServiceReplay(ev, ackMsg)
- })
- //获取占位信息
- serverproto.Handle_RANK_SSDaoChang100PosInfoListReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSDaoChang100PosInfoListReq)
- //util.DebugF("uid=%v receive SSDaoChang100PosInfoListReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSDaoChang100PosInfoListAck{}
- rankMode.DaoChang100Mag.GetPosInfoList(msg.PosIdxList, ackMsg)
- model.ServiceReplay(ev, ackMsg)
- })
- //发起占位挑战
- serverproto.Handle_RANK_SSDaoChang100ChallengeReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSDaoChang100ChallengeReq)
- util.DebugF("uid=%v receive SSDaoChang100ChallengeReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSDaoChang100ChallengeAck{}
- rankMode.DaoChang100Mag.ChallengePre(msg.PosIdx, msg.HasChallengeCount, msg.OwnerBrief, ackMsg, ev)
- model.ServiceReplay(ev, ackMsg)
- })
- //挑战成功/失败通知
- serverproto.Handle_RANK_SSDaoChang100ChallengeResultReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSDaoChang100ChallengeResultReq)
- util.DebugF("uid=%v receive SSDaoChang100ChallengeResultReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSDaoChang100ChallengeResultAck{}
- rankMode.DaoChang100Mag.ChallengeResult(msg.PosIdx, msg.PosUid, msg.OwnerBrief, msg.BattleResult, ackMsg, ev)
- model.ServiceReplay(ev, ackMsg)
- })
- //获取收益奖励
- serverproto.Handle_RANK_SSDaoChang100TimeRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSDaoChang100TimeRewardReq)
- util.DebugF("uid=%v receive SSDaoChang100TimeRewardReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSDaoChang100TimeRewardAck{}
- rankMode.DaoChang100Mag.TimeReward(msg.Uid, msg.BaseRewardTime, msg.RewardIntervalTime, msg.NowTime, ackMsg)
- model.ServiceReplay(ev, ackMsg)
- })
- //占领日志信息
- serverproto.Handle_RANK_SSDaoChang100LogReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSDaoChang100LogReq)
- util.DebugF("uid=%v receive SSDaoChang100LogReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSDaoChang100LogAck{}
- rankMode.DaoChang100Mag.GetPosIdxLog(cliId.SessID, msg.BeginTime, ackMsg)
- model.ServiceReplay(ev, ackMsg)
- })
- //请求冲榜赛季数据
- serverproto.Handle_RANK_SSOnlineGetRushInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSOnlineGetRushInfoReq)
- util.DebugF("uid=%v receive SSOnlineGetRushInfoReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSOnlineGetRushInfoAck{
- Uid: msg.Uid,
- }
- //打包爬塔冲榜数据
- towerRushData := &serverproto.RushActivityData{
- RushType: model.Rush_Type_Tower,
- }
- rankMode.TowerMag.GetCurRushInfo(towerRushData)
- ackMsg.RushData = append(ackMsg.RushData, towerRushData)
- //打包英灵殿冲榜数据
- arenaRushData := &serverproto.RushActivityData{
- RushType: model.Rush_Type_Arena,
- }
- rankMode.ArenaMag.GetCurRushInfo(arenaRushData)
- ackMsg.RushData = append(ackMsg.RushData, arenaRushData)
- //打包推图冲榜数据
- mapRushData := &serverproto.RushActivityData{
- RushType: model.Rush_Type_Map,
- }
- rankMode.MapScoreMag.GetCurRushInfo(mapRushData)
- ackMsg.RushData = append(ackMsg.RushData, mapRushData)
- //打包宠物冲榜数据
- petRushData := &serverproto.RushActivityData{
- RushType: model.Rush_Type_Pet,
- }
- rankMode.PetRankMag.GetCurRushInfo(petRushData)
- ackMsg.RushData = append(ackMsg.RushData, petRushData)
- //打包技能冲榜数据
- skillRushData := &serverproto.RushActivityData{
- RushType: model.Rush_Type_Skill,
- }
- rankMode.SkillRankMag.GetCurRushInfo(skillRushData)
- ackMsg.RushData = append(ackMsg.RushData, skillRushData)
- model.ServiceReplay(ev, ackMsg)
- })
- //获取冲榜详细信息
- serverproto.Handle_RANK_SSGetRushDataReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGetRushDataReq)
- util.DebugF("uid=%v receive SSGetRushDataReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSGetRushDataAck{
- Uid: msg.Uid,
- RushType: msg.RushType,
- }
- if msg.RushType == model.Rush_Type_Tower {
- rankMode.TowerMag.GetSelfRushData(ackMsg)
- } else if msg.RushType == model.Rush_Type_Arena {
- rankMode.ArenaMag.GetSelfRushData(ackMsg)
- } else if msg.RushType == model.Rush_Type_Map {
- rankMode.MapScoreMag.GetSelfRushData(ackMsg)
- } else if msg.RushType == model.Rush_Type_Pet {
- rankMode.PetRankMag.GetSelfRushData(ackMsg)
- } else if msg.RushType == model.Rush_Type_Skill {
- rankMode.SkillRankMag.GetSelfRushData(ackMsg)
- }
- model.ServiceReplay(ev, ackMsg)
- })
- serverproto.Handle_RANK_SSRushDataChangeReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSRushDataChangeReq)
- util.DebugF("uid=%v receive SSRushDataChangeReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSRushDataChangeAck{
- Uid: msg.Uid,
- RushType: msg.RushType,
- Score: msg.Score,
- Score2: msg.Score2,
- Score3: msg.Score3,
- }
- if msg.RushType == model.Rush_Type_Tower {
- rankMode.TowerMag.CheckRushTowerAddScore(ackMsg)
- } else if msg.RushType == model.Rush_Type_Arena {
- rankMode.ArenaMag.CheckRushArenaAddScore(ackMsg)
- } else if msg.RushType == model.Rush_Type_Map {
- rankMode.MapScoreMag.CheckRushMapAddScore(ackMsg)
- } else if msg.RushType == model.Rush_Type_Pet {
- rankMode.PetRankMag.CheckRushPetAddScore(ackMsg)
- } else if msg.RushType == model.Rush_Type_Skill {
- rankMode.SkillRankMag.CheckRushSkillAddScore(ackMsg)
- }
- model.ServiceReplay(ev, ackMsg)
- })
- //主动领取排名奖励请求
- serverproto.Handle_RANK_SSGetRushRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGetRushRewardReq)
- util.DebugF("uid=%v receive SSGetRushRewardReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSGetRushRewardAck{
- Uid: msg.Uid,
- RewardType: msg.RewardType,
- RushType: msg.RushType,
- }
- if msg.RushType == model.Rush_Type_Tower {
- rankMode.TowerMag.GetRushTowerReward(ackMsg, msg.RewardType)
- } else if msg.RushType == model.Rush_Type_Arena {
- rankMode.ArenaMag.GetRushArenaReward(ackMsg, msg.RewardType)
- } else if msg.RushType == model.Rush_Type_Map {
- rankMode.MapScoreMag.GetRushMapReward(ackMsg, msg.RewardType)
- } else if msg.RushType == model.Rush_Type_Pet {
- rankMode.PetRankMag.GetRushPetReward(ackMsg, msg.RewardType)
- } else if msg.RushType == model.Rush_Type_Skill {
- rankMode.SkillRankMag.GetRushSkillReward(ackMsg, msg.RewardType)
- }
- model.ServiceReplay(ev, ackMsg)
- })
- //主动领取保底奖励请求
- serverproto.Handle_RANK_SSGetRushBaseRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGetRushBaseRewardReq)
- util.DebugF("uid=%v receive SSGetRushBaseRewardReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSGetRushBaseRewardAck{
- Uid: msg.Uid,
- RushType: msg.RushType,
- }
- if msg.RushType == model.Rush_Type_Tower {
- rankMode.TowerMag.GetRushBaseReward(msg.Uid, msg.RushRound, ackMsg)
- } else if msg.RushType == model.Rush_Type_Arena {
- rankMode.ArenaMag.GetRushBaseReward(msg.Uid, msg.RushRound, ackMsg)
- } else if msg.RushType == model.Rush_Type_Map {
- rankMode.MapScoreMag.GetRushBaseReward(msg.Uid, msg.RushRound, ackMsg)
- } else if msg.RushType == model.Rush_Type_Pet {
- rankMode.PetRankMag.GetRushBaseReward(msg.Uid, msg.RushRound, ackMsg)
- } else if msg.RushType == model.Rush_Type_Skill {
- rankMode.SkillRankMag.GetRushBaseReward(msg.Uid, msg.RushRound, ackMsg)
- }
- model.ServiceReplay(ev, ackMsg)
- })
- //冲榜商店信息请求
- serverproto.Handle_RANK_SSGetRushShopInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGetRushShopInfoReq)
- util.DebugF("uid=%v receive SSGetRushShopInfoReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSGetRushShopInfoAck{
- Uid: msg.Uid,
- RushType: msg.RushType,
- ShopType: msg.ShopType,
- SubShopId: msg.SubShopId,
- }
- if msg.RushType == model.Rush_Type_Tower {
- rushStage, rushId := rankMode.TowerMag.GetRushInfo()
- ackMsg.RushStage = rushStage
- ackMsg.RushRound = rushId
- } else if msg.RushType == model.Rush_Type_Arena {
- rushStage, rushId := rankMode.ArenaMag.GetRushInfo()
- ackMsg.RushStage = rushStage
- ackMsg.RushRound = rushId
- } else if msg.RushType == model.Rush_Type_Map {
- rushStage, rushId := rankMode.MapScoreMag.GetRushInfo()
- ackMsg.RushStage = rushStage
- ackMsg.RushRound = rushId
- } else if msg.RushType == model.Rush_Type_Pet {
- rushStage, rushId := rankMode.PetRankMag.GetRushInfo()
- ackMsg.RushStage = rushStage
- ackMsg.RushRound = rushId
- } else if msg.RushType == model.Rush_Type_Skill {
- rushStage, rushId := rankMode.SkillRankMag.GetRushInfo()
- ackMsg.RushStage = rushStage
- ackMsg.RushRound = rushId
- }
- model.ServiceReplay(ev, ackMsg)
- })
- //冲榜商店购买请求
- serverproto.Handle_RANK_SSGetRushShopBuyReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGetRushShopBuyReq)
- util.DebugF("uid=%v receive SSGetRushShopBuyReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSGetRushShopBuyAck{
- Uid: msg.Uid,
- ShopType: msg.ShopType,
- GoodsId: msg.GoodsId,
- GoodsNum: msg.GoodsNum,
- }
- if msg.RushType == model.Rush_Type_Tower {
- rushStage, rushId := rankMode.TowerMag.GetRushInfo()
- ackMsg.RushStage = rushStage
- ackMsg.RushRound = rushId
- } else if msg.RushType == model.Rush_Type_Arena {
- rushStage, rushId := rankMode.ArenaMag.GetRushInfo()
- ackMsg.RushStage = rushStage
- ackMsg.RushRound = rushId
- } else if msg.RushType == model.Rush_Type_Map {
- rushStage, rushId := rankMode.MapScoreMag.GetRushInfo()
- ackMsg.RushStage = rushStage
- ackMsg.RushRound = rushId
- } else if msg.RushType == model.Rush_Type_Pet {
- rushStage, rushId := rankMode.PetRankMag.GetRushInfo()
- ackMsg.RushStage = rushStage
- ackMsg.RushRound = rushId
- } else if msg.RushType == model.Rush_Type_Skill {
- rushStage, rushId := rankMode.SkillRankMag.GetRushInfo()
- ackMsg.RushStage = rushStage
- ackMsg.RushRound = rushId
- }
- model.ServiceReplay(ev, ackMsg)
- })
- serverproto.Handle_RANK_SSGetRushRankRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGetRushRankRewardReq)
- util.DebugF("uid=%v receive SSGetRushRankRewardReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSGetRushRankRewardAck{
- Uid: msg.Uid,
- }
- for _, data := range msg.RushData {
- reward := &serverproto.RankRewardList{
- RushType: data.Key,
- }
- if data.Key == model.Rush_Type_Tower {
- rankMode.TowerMag.GetRushReward(msg.Uid, data.Value, reward)
- } else if data.Key == model.Rush_Type_Arena {
- rankMode.ArenaMag.GetRushReward(msg.Uid, data.Value, reward)
- } else if data.Key == model.Rush_Type_Map {
- rankMode.MapScoreMag.GetRushReward(msg.Uid, data.Value, reward)
- } else if data.Key == model.Rush_Type_Pet {
- rankMode.PetRankMag.GetRushReward(msg.Uid, data.Value, reward)
- } else if data.Key == model.Rush_Type_Skill {
- rankMode.SkillRankMag.GetRushReward(msg.Uid, data.Value, reward)
- }
- ackMsg.RewardList = append(ackMsg.RewardList, reward)
- }
- model.ServiceReplay(ev, ackMsg)
- })
- //主动领取排名奖励请求
- /*
- serverproto.Handle_RANK_SSGetRushRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGetRushRankReq)
- util.DebugF("uid=%v receive SSGetRushRankReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSGetRushRankAck{
- Uid: msg.Uid,
- RushType: msg.RushType,
- }
- if msg.RushType == model.Rush_Type_Tower {
- rankMode.TowerMag.GetRushReward(msg.Uid, msg.RushRound, ackMsg)
- } else if msg.RushType == model.Rush_Type_Arena {
- rankMode.ArenaMag.GetRushReward(msg.Uid, msg.RushRound, ackMsg)
- } else if msg.RushType == model.Rush_Type_Map {
- rankMode.MapScoreMag.GetRushReward(msg.Uid, msg.RushRound, ackMsg)
- } else if msg.RushType == model.Rush_Type_Pet {
- rankMode.PetRankMag.GetRushReward(msg.Uid, msg.RushRound, ackMsg)
- } else if msg.RushType == model.Rush_Type_Skill {
- rankMode.SkillRankMag.GetRushReward(msg.Uid, msg.RushRound, ackMsg)
- }
- model.ServiceReplay(ev, ackMsg)
- })
- */
- //主动领取排名奖励请求
- serverproto.Handle_RANK_SSTestRushRankRewardNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSTestRushRankRewardNtf)
- util.DebugF("uid=%v receive SSTestRushRankRewardNtf msg=%v", cliId.SessID, msg)
- if msg.RushType == model.Rush_Type_Tower {
- rankMode.TowerMag.SendRushTowerReward()
- } else if msg.RushType == model.Rush_Type_Arena {
- rankMode.ArenaMag.SendRushArenaReward()
- } else if msg.RushType == model.Rush_Type_Map {
- rankMode.MapScoreMag.SendRushMapReward()
- } else if msg.RushType == model.Rush_Type_Pet {
- rankMode.PetRankMag.SendRushPetReward()
- }
- })
- serverproto.Handle_RANK_SSRushMapScoreNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSRushMapScoreNtf)
- util.DebugF("uid=%v receive SSRushMapScoreNtf msg=%v", cliId.SessID, msg)
- rankMode.MapScoreMag.AddMapScoreRank(msg.Uid, msg.Score)
- })
- serverproto.Handle_RANK_SSUpdateKeepSakeRankNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSUpdateKeepSakeRankNtf)
- util.DebugF("uid=%v receive SSUpdateKeepSakeRankNtf msg=%v", cliId.SessID, msg)
- rankMode.KeepSakeMag.OnKeepSakeCollectChange(msg.Uid, msg.KeepSakeId)
- })
- serverproto.Handle_RANK_CSKeepSakeRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSKeepSakeRankReq)
- util.DebugF("uid=%v receive CSKeepSakeRankReq msg=%v", cliId.SessID, msg)
- rankMode.KeepSakeMag.KeepSakeRankInfo(msg, ev)
- })
- //精彩活动获取全局数据
- serverproto.Handle_RANK_SSActivitiesCollectionServerDataReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSActivitiesCollectionServerDataReq)
- util.DebugF("uid=%v SSActivitiesCollectionServerDataReq msg=%v", cliId.SessID, msg)
- ssAckMsg := &serverproto.SSActivitiesCollectionServerDataAck{
- ActivityId: msg.ActivityId,
- RewardIdx: msg.RewardIdx,
- PetData: msg.PetData,
- }
- //清空全局数据方式不用通知
- if rankMode.GetActivitiesCollectionData(msg.ActivityId, msg.RewardIdx, msg.ServerLimitNum, ssAckMsg) {
- model.ServiceReplay(ev, ssAckMsg)
- }
- })
- //勇士积分排行榜
- //积分更新
- serverproto.Handle_RANK_SSExpeditionUpdateScoreRankNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSExpeditionUpdateScoreRankNtf)
- util.DebugF("uid=%v receive SSExpeditionUpdateScoreRankNtf msg=%v", cliId.SessID, msg)
- rankMode.UpdateExpeditionScoreRank(msg.CurScore, cliId.SessID)
- })
- //获取排行榜
- serverproto.Handle_RANK_SSExpeditionScoreRankListReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSExpeditionScoreRankListReq)
- util.DebugF("uid=%v receive SSExpeditionScoreRankListReq msg=%v", cliId.SessID, msg)
- ssAckMsg := &serverproto.SSExpeditionScoreRankListAck{
- Error: int32(serverproto.ErrorCode_ERROR_OK),
- StartIdx: msg.StartIdx,
- }
- rankMode.ExpeditionScoreRank(msg.StartIdx, ssAckMsg, cliId.SessID)
- model.ServiceReplay(ev, ssAckMsg)
- })
- //更新宠物战力排行榜,更新上阵宠物
- serverproto.Handle_RANK_SSRushPetInfoChangeNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSRushPetInfoChangeNtf)
- util.DebugF("uid=%v receive SSRushPetInfoChangeNtf msg=%v", cliId.SessID, msg)
- rankMode.PetRankMag.RefreshRushPetData(msg)
- })
- //请求宠物冲榜后续数据
- serverproto.Handle_RANK_CSPetActivityRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSPetActivityRankReq)
- util.DebugF("uid=%v receive CSPetActivityRankReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SCPetActivityRankAck{
- Error: int32(serverproto.ErrorCode_ERROR_FAIL),
- Page: msg.Page,
- }
- ackMsg.Error = int32(rankMode.PetRankMag.GetRushPetRankInfo(msg.Page, ackMsg))
- model.ServiceReplay(ev, ackMsg)
- })
- //更新技能排行
- serverproto.Handle_RANK_SSRushSkillInfoChangeNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSRushSkillInfoChangeNtf)
- util.DebugF("uid=%v receive SSRushSkillInfoChangeNtf msg=%v", cliId.SessID, msg)
- rankMode.SkillRankMag.RefreshRushSkillData(msg)
- })
- //请求技能冲榜后续数据
- serverproto.Handle_RANK_CSRushSkillActivityRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSRushSkillActivityRankReq)
- util.DebugF("uid=%v receive CSRushSkillActivityRankReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SCRushSkillActivityRankAck{
- Error: int32(serverproto.ErrorCode_ERROR_FAIL),
- Page: msg.Page,
- }
- ackMsg.Error = int32(rankMode.SkillRankMag.GetRushSkillRankInfo(msg.Page, ackMsg))
- model.ServiceReplay(ev, ackMsg)
- })
- //偶像季,请求自己的粉丝列表
- serverproto.Handle_RANK_SSCompetitionSelfFansInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSCompetitionSelfFansInfoReq)
- util.DebugF("uid=%v receive SSCompetitionSelfFansInfoReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSCompetitionSelfFansInfoAck{
- Error: int32(serverproto.ErrorCode_ERROR_FAIL),
- Uid: msg.Uid,
- }
- ackMsg.Error = int32(rankMode.CompetitionMag.GetSelfFansInfo(msg.Uid, msg.CompetitionId, ackMsg))
- model.ServiceReplay(ev, ackMsg)
- })
- //请求技能冲榜后续数据
- serverproto.Handle_RANK_SSCompetitionVoteRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSCompetitionVoteRankReq)
- util.DebugF("uid=%v receive SSCompetitionVoteRankReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSCompetitionVoteRankAck{
- Error: int32(serverproto.ErrorCode_ERROR_FAIL),
- Page: msg.Page,
- Uid: msg.Uid,
- IsEnd: false,
- }
- ackMsg.Error = int32(rankMode.CompetitionMag.GetVoteRank(msg.Page, msg.CompetitionId, ackMsg))
- model.ServiceReplay(ev, ackMsg)
- })
- //偶像季请求偶像馈赠排名
- serverproto.Handle_RANK_SSCompetitionFansRewardRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSCompetitionFansRewardRankReq)
- util.DebugF("uid=%v receive SSCompetitionFansRewardRankReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSCompetitionFansRewardRankAck{
- Error: int32(serverproto.ErrorCode_ERROR_FAIL),
- Page: msg.Page,
- IsEnd: false,
- }
- ackMsg.Error = int32(rankMode.CompetitionMag.GetFansRewardRankInfo(msg.Page, msg.CompetitionId, ackMsg))
- model.ServiceReplay(ev, ackMsg)
- })
- //偶像季,粉丝请求领取偶像馈赠宝箱
- serverproto.Handle_RANK_SSCompetitionFansGetRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSCompetitionFansGetRewardReq)
- util.DebugF("uid=%v receive SSCompetitionFansGetRewardReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSCompetitionFansGetRewardAck{
- Error: int32(serverproto.ErrorCode_ERROR_FAIL),
- Uid: msg.Uid,
- RewardLevel: msg.RewardLevel,
- IdolUid: msg.IdolUid,
- }
- bRet, score := rankMode.CompetitionMag.GetSingleFansRewardData(msg.IdolUid, msg.CompetitionId)
- ackMsg.Error = int32(bRet)
- ackMsg.IdolBoxCount = score
- model.ServiceReplay(ev, ackMsg)
- })
- //偶像季,购买宝箱更新馈赠排名
- serverproto.Handle_RANK_SSCompetitionAddIdolBoxScoreNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSCompetitionAddIdolBoxScoreNtf)
- util.DebugF("uid=%v receive SSCompetitionAddIdolBoxScoreNtf msg=%v", cliId.SessID, msg)
- rankMode.CompetitionMag.AddIdolBoxScore(msg.Uid, msg.Score, msg.CompetitionId)
- })
- //偶像季,赛季结束,给玩家发送奖励
- serverproto.Handle_RANK_SSCompetitionFansGetAllRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSCompetitionFansGetAllRewardReq)
- util.DebugF("uid=%v receive SSCompetitionFansGetAllRewardReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSCompetitionFansGetAllRewardAck{
- CompetitionId: msg.CompetitionId,
- CompetitionSubId: msg.CompetitionSubId,
- }
- rankMode.CompetitionMag.GetAllFansReward(msg, ackMsg)
- model.ServiceReplay(ev, ackMsg)
- })
- serverproto.Handle_RANK_SSCompetitionGetPlayerVoteRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSCompetitionGetPlayerVoteRankReq)
- util.DebugF("uid=%v receive SSCompetitionGetPlayerVoteRankReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSCompetitionGetPlayerVoteRankAck{
- Error: int32(serverproto.ErrorCode_ERROR_FAIL),
- ReqUid: msg.ReqUid,
- }
- bRet := rankMode.CompetitionMag.GetIdolRankData(msg.Uid, msg.CompetitionId, ackMsg)
- ackMsg.Error = int32(bRet)
- model.ServiceReplay(ev, ackMsg)
- })
- }
|