local Sweep_Model = {} local private = {} local sweep_pb = require("Proto/sweep_pb") local common_pb = require("Proto/common_pb") local EventSystem = require('Event/EventSystem') Sweep_Model.SweepType = { Common = 1, -- 通用 Item = 2, -- 指定物品 GoldHero = 3, -- 金将体验关扫荡 } function Sweep_Model.OnStartup() NetManager.RegisterMsgCB(MessageEnums.MessageSweep, private.SweepFubenResp) NetManager.RegisterMsgCB(MessageEnums.MessageSweepContinuous, private.SweepItemResp) end function Sweep_Model.SweepFubenReq(id, count, isMultiSweep) local msg = sweep_pb.SweepReq() msg.FubenId = id msg.SweepTimes = count msg.IsMultiSweep = isMultiSweep or false logging.log(LTAG.LOG," SweepFubenReq ", count) NetManager.SendMessage(MessageEnums.MessageSweep, msg) end function Sweep_Model.SweepSingleItemReq(fubenId, itemId, count, times, useFastBattleItem) local msg = sweep_pb.SweepContinuousReq() table.insert(msg.FubenId, fubenId) local item = common_pb.RewardItem() item.ItemId = itemId item.ItemCount = count table.insert(msg.NeedItem, item) msg.SweepTimes = times or 0 msg.UseFastBattleItem = useFastBattleItem or false NetManager.SendMessage(MessageEnums.MessageSweepContinuous, msg) end function Sweep_Model.SweepMultiItemReq(itemInfoList, times, useFastBattleItem) local msg = sweep_pb.SweepContinuousReq() for i, v in ipairs(itemInfoList) do table.insert(msg.FubenId, v.levelId) end for i, v in ipairs(itemInfoList) do local item = common_pb.RewardItem() item.ItemId = v.itemId item.ItemCount = v.itemCount - MDL.Currency.GetSoftTokenCountById(v.itemId) table.insert(msg.NeedItem, item) end msg.SweepTimes = times or 0 msg.UseFastBattleItem = useFastBattleItem or false NetManager.SendMessage(MessageEnums.MessageSweepContinuous, msg) end function private.SweepItemResp(msg) if msg.Resp.Code == 0 then EventSystem.Dispatch(EventID.UI_SweepItem_Refresh, msg.SweepRewardList, msg.StopType) end end function private.SweepFubenResp(msg) logging.log(LTAG.LOG," SweepFubenResp ", msg.SweepRewardList, #msg.SweepRewardList) for i,v in ipairs(msg.SweepRewardList) do logging.log(LTAG.LOG," SweepFubenResp ", v) end if msg.Resp.Code == 0 then EventSystem.Dispatch(EventID.UI_SweepFuben_Refresh, msg.SweepRewardList) end end return Sweep_Model