| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344 |
- package msg
- import (
- "rocommon"
- "rocommon/util"
- "roserver/baseserver/model"
- model2 "roserver/game/model"
- "roserver/serverproto"
- )
- func init() {
- //////百人道场
- //获取玩家自身占位信息
- serverproto.Handle_GAME_CSDaoChang100PlayerInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSDaoChang100PlayerInfoReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.DebugF("uid=%v receive CSDaoChang100PlayerInfoReq ms=%v", role.GetUUid(), msg)
- role.(model2.RoleLogicOuter).GetDaoChang100SelfPosInfo(msg)
- })
- //from rank
- serverproto.Handle_GAME_SCDaoChang100PlayerInfoAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCDaoChang100PlayerInfoAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.DebugF("uid=%v receive SCDaoChang100PlayerInfoAck ms=%v", role.GetUUid(), msg)
- if role.(*model2.Role).GetRoleDaoChang100() != nil {
- role.(*model2.Role).GetRoleDaoChang100().OnSelfPosIdxData(msg)
- }
- })
- //获取百人道场占位数据
- //列表上限20
- serverproto.Handle_GAME_CSDaoChang100Req = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSDaoChang100Req)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- //util.DebugF("uid=%v receive CSDaoChang100Req ms=%v", role.GetUUid(), msg)
- role.(model2.RoleLogicOuter).GetDaoChang100PosInfo(msg.PosIdxList)
- })
- //from rank
- serverproto.Handle_GAME_SSDaoChang100PosInfoListAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSDaoChang100PosInfoListAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- //util.DebugF("uid=%v receive SSDaoChang100PosInfoListAck ms=%v", role.GetUUid(), msg)
- ackMsg := &serverproto.SCDaoChang100Ack{
- Error: msg.Error,
- PosDataList: msg.PosDataList,
- }
- role.ReplayGate(ackMsg, true)
- })
- //获取占领记录
- serverproto.Handle_GAME_CSDaoChang100LogReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSDaoChang100LogReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.DebugF("uid=%v receive CSDaoChang100LogReq ms=%v", role.GetUUid(), msg)
- role.(model2.RoleLogicOuter).GetDaoChang100Log(msg.BeginTime)
- })
- //from rank
- serverproto.Handle_GAME_SSDaoChang100LogAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSDaoChang100LogAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SSDaoChang100LogAck ms=%v", role.GetUUid(), msg)
- if role.(*model2.Role).GetRoleDaoChang100() != nil {
- role.(*model2.Role).GetRoleDaoChang100().OnGetDaoChang100Log(msg.LogList, msg.IsEnd)
- }
- })
- //挑战占位(挑战成功后发送通知消息SCDaoChang100DataChangNtf)
- serverproto.Handle_GAME_CSDaoChang100ChallengeReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSDaoChang100ChallengeReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.DebugF("uid=%v receive CSDaoChang100ChallengeReq ms=%v", role.GetUUid(), msg)
- role.(model2.RoleLogicOuter).DaoChang100ChallengeReq(msg.PosIdx)
- })
- //from rank
- serverproto.Handle_GAME_SSDaoChang100ChallengeAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSDaoChang100ChallengeAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SSDaoChang100ChallengeAck ms=%v", role.GetUUid(), msg)
- if role.(*model2.Role).GetRoleDaoChang100() != nil {
- role.(*model2.Role).GetRoleDaoChang100().OnDaoChang100Challenge(msg)
- }
- })
- serverproto.Handle_GAME_CSDaoChang100ChallengeResultReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSDaoChang100ChallengeResultReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSDaoChang100ChallengeResultReq ms=%v", role.GetUUid(), msg)
- role.(model2.RoleLogicOuter).DaoChang100ChallengeResultReq(msg)
- })
- //from rank
- serverproto.Handle_GAME_SSDaoChang100ChallengeResultAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSDaoChang100ChallengeResultAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SSDaoChang100ChallengeResultAck ms=%v", role.GetUUid(), msg)
- // 1,占位成功消耗次数
- // 2,占位成功/失败 日志变化通知
- if role.(*model2.Role).GetRoleDaoChang100() != nil {
- role.(*model2.Role).GetRoleDaoChang100().OnChallengeResult(msg)
- }
- })
- //from rank|rank -> game -> social -> other game
- //来自rank或者来自其他game服务器的消息通知
- serverproto.Handle_GAME_SSDaoChang100ChallengeResultNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSDaoChang100ChallengeResultNtf)
- if !msg.FromOtherGame {
- //直接来自rank
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SSDaoChang100ChallengeResultNtf ms=%v", role.GetUUid(), msg)
- ntfRole := model2.RoleMag.GetRoleFromUUid(msg.NtfUid)
- if ntfRole == nil {
- ntfRole = model2.RoleMag.GetRoleFromOffline(msg.NtfUid)
- if ntfRole == nil {
- //通过social发送给其他服务器
- msg.FromOtherGame = true
- role.(*model2.Role).SendSocial(msg)
- return
- }
- }
- if ntfRole.(*model2.Role).GetRoleDaoChang100() != nil {
- ntfRole.(*model2.Role).GetRoleDaoChang100().OnChallengeResultNtf(msg)
- }
- } else {
- util.InfoF("receive SSDaoChang100ChallengeResultNtf ms=%v", msg)
- //来自其他服务器
- ntfRole := model2.RoleMag.GetRoleFromUUid(msg.NtfUid)
- if ntfRole == nil {
- ntfRole = model2.RoleMag.GetRoleFromOffline(msg.NtfUid)
- if ntfRole == nil {
- return
- }
- }
- if ntfRole.(*model2.Role).GetRoleDaoChang100() != nil {
- ntfRole.(*model2.Role).GetRoleDaoChang100().OnChallengeResultNtf(msg)
- }
- }
- })
- //获取收益奖励
- serverproto.Handle_GAME_CSDaoChang100TimeRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSDaoChang100TimeRewardReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSDaoChang100TimeRewardReq ms=%v", role.GetUUid(), msg)
- role.(model2.RoleLogicOuter).DaoChang100TimeRewardReq()
- })
- //from rank
- serverproto.Handle_GAME_SSDaoChang100TimeRewardAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSDaoChang100TimeRewardAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SSDaoChang100TimeRewardAck ms=%v", role.GetUUid(), msg)
- if role.(*model2.Role).GetRoleDaoChang100() != nil {
- role.(*model2.Role).GetRoleDaoChang100().OnTimeReward(msg)
- }
- })
- //购买挑战次数
- serverproto.Handle_GAME_CSDaoChang100BuyChallengeCountReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSDaoChang100BuyChallengeCountReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.DebugF("uid=%v receive CSDaoChang100BuyChallengeCountReq ms=%v", role.GetUUid(), msg)
- role.(model2.RoleLogicOuter).DaoChang100BuyChallengeCount()
- })
- //道场口号设置
- serverproto.Handle_GAME_CSDaoChang100SetTipsReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSDaoChang100SetTipsReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.DebugF("uid=%v receive CSDaoChang100SetTipsReq ms=%v", role.GetUUid(), msg)
- role.(model2.RoleLogicOuter).DaoChang100SetTips(msg.TipDesc)
- })
- //////百人道场 转盘(根据第三赛季开启)
- //打开界面是获取信息(第三赛季未到时无数据,后续打开生成奖励物品)
- serverproto.Handle_GAME_CSDaoChang100WheelReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSDaoChang100WheelReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.DebugF("uid=%v receive CSDaoChang100WheelReq ms=%v", role.GetUUid(), msg)
- if role.(*model2.Role).GetRoleDaoChang100() != nil {
- retCode := role.(*model2.Role).GetRoleDaoChang100().DaoChang100Wheel()
- ackMsg := &serverproto.SCDaoChang100WheelAck{
- Error: int32(retCode),
- }
- role.ReplayGate(ackMsg, true)
- }
- })
- //刷新转盘道具(未开启本轮时操作)
- serverproto.Handle_GAME_CSDaoChang100WheelRefreshReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSDaoChang100WheelRefreshReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.DebugF("uid=%v receive CSDaoChang100WheelRefreshReq ms=%v", role.GetUUid(), msg)
- if role.(*model2.Role).GetRoleDaoChang100() != nil {
- retCode := role.(*model2.Role).GetRoleDaoChang100().DaoChang100WheelRefresh()
- ackMsg := &serverproto.SCDaoChang100WheelRefreshAck{
- Error: int32(retCode),
- }
- role.ReplayGate(ackMsg, true)
- }
- })
- //开启本轮转盘(开始获取奖励)
- serverproto.Handle_GAME_CSDaoChang100WheelOpenRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSDaoChang100WheelOpenRewardReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.DebugF("uid=%v receive CSDaoChang100WheelOpenRewardReq ms=%v", role.GetUUid(), msg)
- if role.(*model2.Role).GetRoleDaoChang100() != nil {
- retCode := role.(*model2.Role).GetRoleDaoChang100().DaoChang100WheelOpen()
- ackMsg := &serverproto.SCDaoChang100WheelOpenRewardAck{
- Error: int32(retCode),
- }
- role.ReplayGate(ackMsg, true)
- }
- })
- //转一次/转本轮(获取所有奖励)
- serverproto.Handle_GAME_CSDaoChang100WheelRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSDaoChang100WheelRewardReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.DebugF("uid=%v receive CSDaoChang100WheelRewardReq ms=%v", role.GetUUid(), msg)
- if role.(*model2.Role).GetRoleDaoChang100() != nil {
- retCode := role.(*model2.Role).GetRoleDaoChang100().DaoChang100WheelReward(msg.RewardAll)
- if retCode != serverproto.ErrorCode_ERROR_OK {
- ackMsg := &serverproto.SCDaoChang100WheelRewardAck{
- Error: int32(retCode),
- RewardAll: msg.RewardAll,
- }
- role.ReplayGate(ackMsg, true)
- }
- }
- })
- //关闭本轮转盘
- serverproto.Handle_GAME_CSDaoChang100WheelCloseRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSDaoChang100WheelCloseRewardReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.DebugF("uid=%v receive CSDaoChang100WheelCloseRewardReq ms=%v", role.GetUUid(), msg)
- if role.(*model2.Role).GetRoleDaoChang100() != nil {
- retCode := role.(*model2.Role).GetRoleDaoChang100().DaoChang100WheelClose()
- ackMsg := &serverproto.SCDaoChang100WheelCloseRewardAck{
- Error: int32(retCode),
- }
- role.ReplayGate(ackMsg, true)
- }
- })
- //获取转盘日志
- serverproto.Handle_GAME_CSDaoChang100WheelLogReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSDaoChang100WheelLogReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.DebugF("uid=%v receive CSDaoChang100WheelLogReq ms=%v", role.GetUUid(), msg)
- if role.(*model2.Role).GetRoleDaoChang100() != nil {
- retCode := role.(*model2.Role).GetRoleDaoChang100().DaoChang100WheelLogList()
- if retCode != serverproto.ErrorCode_ERROR_OK {
- ackMsg := &serverproto.SCDaoChang100WheelLogAck{}
- role.ReplayGate(ackMsg, true)
- }
- }
- })
- //from db
- serverproto.Handle_GAME_SCDaoChang100WheelLogAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCDaoChang100WheelLogAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.DebugF("uid=%v receive SCDaoChang100WheelLogAck ms=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //from other game
- serverproto.Handle_GAME_SCDaoChang100WheelLogNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCDaoChang100WheelLogNtf)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.DebugF("uid=%v receive SCDaoChang100WheelLogNtf ms=%v", role.GetUUid(), msg)
- model2.RoleMag.SendMsg2OnlinePlayer(msg, 0)
- })
- }
|