local ExpelMonster_Model = {} local private = {} local EventSystem = require('Event/EventSystem') function ExpelMonster_Model.OnStartup() NetManager.RegisterMsgCB(MessageEnums.MessageReceiveGuildScoreReward, private.ReceiveGuildScoreReward) NetManager.RegisterMsgCB(MessageEnums.MessageExpelMonsterSweep, private.ExpelMonsterSweep) private.chanllengeTimes = 0 private.guildScore = 0 private.todayMaxDamage = 0 private.guildRewardScoreID = 0 -- 当前领取最高奖励对应的势力积分ID private.todayBalance = false end function ExpelMonster_Model.HasChanllengedToday() return private.todayMaxDamage > 0 end function ExpelMonster_Model.GetChanllengeTimes() return private.chanllengeTimes end function ExpelMonster_Model.GetGuildScore() return private.guildScore end function ExpelMonster_Model.GetTodayMaxDamageStr() return UTL.String.GetCountStr(math.ceil(private.todayMaxDamage)) end function ExpelMonster_Model.GetTodayMaxDamage() return private.todayMaxDamage end function ExpelMonster_Model.GetGuildRewardScoreID() return private.guildRewardScoreID end function ExpelMonster_Model.GetTodayBalance() return private.todayBalance end --region ***************** 协议 ******************** function ExpelMonster_Model.SyncBasicInfo(info) logging.log(LTAG.LOG,"恶兽SyncBasicInfo", info) private.guildScore = info.guildScore private.todayMaxDamage = info.todayMaxDamage private.guildRewardScoreID = info.guildRewardScore private.todayBalance = info.todayBalance private.chanllengeTimes = info.challengeTimes EventSystem.Dispatch(EventID.UI_ExpelMonster_MainUIRefresh) local redPointStatus = CTL.ExpelMonster.IsActivityOpen() and (private.chanllengeTimes > 0 or CTL.ExpelMonster.IsCanGetReward()) if redPointStatus then CTL.RedPoint.AddRedPoint(CTL.RedPoint.RedPointKey.NewYear_ExpelMonster) else CTL.RedPoint.RemoveRedPoint(CTL.RedPoint.RedPointKey.NewYear_ExpelMonster) end end --扫荡 function ExpelMonster_Model.ExpelMonsterSweepReq() local msg = NetManager.GetPB("expel_monster_op_pb").ExpelMonsterSweepReq() msg.times = 1 NetManager.SendMessage(MessageEnums.MessageExpelMonsterSweep, msg) end function private.ExpelMonsterSweep(msgResp) if msgResp.Resp.Code == 0 then UIManager.OpenView(Const_UI_Lua.UIEnum.UIExpelMonsterSweepSuccess, msgResp.rewards) end end --挑战进入副本 function ExpelMonster_Model.EnterExpelMonsterReq(levelID) local msg = NetManager.GetPB("fuben_pb").EnterFubenReq() msg.id = levelID msg.mapType = LuaConst.LevelType.ExpelMonster NetManager.SendMessage(MessageEnums.MessageEnterFuben, msg) end --领奖 function ExpelMonster_Model.GuildScoreRewardReq() local msg = NetManager.GetPB("expel_monster_op_pb").ReceiveGuildScoreRewardReq() NetManager.SendMessage(MessageEnums.MessageReceiveGuildScoreReward, msg) end function private.ReceiveGuildScoreReward(msgResp) if msgResp.Resp.Code == 0 then EventSystem.Dispatch(EventID.UI_ExpelMonster_RefreshMainUIGuildRewardBox) end end --endregion ***************** 协议 ******************** return ExpelMonster_Model