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) }) }