local EquipManager = class("EquipManager", BaseModule) function EquipManager:showEquipListUI(heroEntity, part) UIManager:showUI("app/ui/equip/equip_list_ui", {heroEntity = heroEntity, part = part}) end function EquipManager:showEquipGrowthUI(slotId) UIManager:showUI("app/ui/equip/equip_growth_ui", {slotId = slotId}) end function EquipManager:showEquipInfoUI(params) local uiObj = UIManager:checkOpen(UIManager.UI_PATH.EQUIP_INFO_UI) if uiObj then uiObj:ctor(params) uiObj:onRefresh() else UIManager:showUI(UIManager.UI_PATH.EQUIP_INFO_UI, params) end end -- 请求触发装备升级礼包 function EquipManager:reqEquipUpgradeGift(heroId, part) if DataManager.EquipData:getCanShowGiftId(heroId, part) ~= nil then return end self:sendMessage(ProtoMsgType.FromMsgEnum.TriggerWeaponArmorGiftReq, {hero_id = heroId, equip_position = part}, {}, self.rspEquipUpgradeGift, nil) end function EquipManager:rspEquipUpgradeGift(result) DataManager.EquipData:initGifts(result.info) end -- 升级装备 function EquipManager:reqUpgrade(id, part) local entity = DataManager.EquipData:getEquip(id, part) if not entity then return end local heroEntity = DataManager.HeroData:getHeroById(id) if heroEntity == nil or not heroEntity:isUnlock() then return end for index, cost in ipairs(entity:getUpgradeMaterials()) do if cost.num > DataManager.BagData.ItemData:getItemNumById(cost.id) then GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.EQUIP_DESC_8)) self:showItemGetPop(id, part, cost.id, cost.num) return end end if not entity:isEnoughGold() then if not ModuleManager.ShopManager:tryTriggerCoinGift() then GFunc.showItemNotEnough(GConst.ItemConst.ITEM_ID_GOLD) end return end if entity:isMaxLevel() then if entity:getPart() == GConst.EquipConst.PART_TYPE.WEAPON then GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.EQUIP_DESC_7, DataManager.PlayerData:getLv() + 1)) else GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.EQUIP_DESC_9, entity:getLevel() + 1)) end return end local itemGetType = BIReport.ITEM_GET_TYPE.EQUIP_UPGRADE if part ~= GConst.EquipConst.PART_TYPE.WEAPON then itemGetType = BIReport.ITEM_GET_TYPE.ARMOR_UPGRADE end self:sendMessage(ProtoMsgType.FromMsgEnum.EquipUpgradeReq, {hero_id = id, position = part}, {}, self.rspUpgrade, itemGetType) end function EquipManager:rspUpgrade(result) if result.err_code == GConst.ERROR_STR.SUCCESS then DataManager.EquipData:onUpgradeEquip(result.reqData.hero_id, result.reqData.position) if result.reqData.position == GConst.EquipConst.PART_TYPE.WEAPON then ModuleManager.TaskManager:addTaskProgress(GConst.TaskConst.TASK_TYPE.X_UPGRADE_WEAPON) else ModuleManager.TaskManager:addTaskProgress(GConst.TaskConst.TASK_TYPE.X_UPGRADE_ARMOR) end end end --@region function EquipManager:onEquipWearReq(slotId, ids) local params = {} params.slot = slotId params.ids = ids self:sendMessage(ProtoMsgType.FromMsgEnum.EquipWearReq, params, {}, self.onEquipWearRsp, BIReport.ITEM_GET_TYPE.UPGRADE_HERO) end function EquipManager:onEquipWearRsp(result) if result.err_code == GConst.ERROR_STR.SUCCESS then DataManager.EquipData:onWearSuccess(result.reqData.slot, result.reqData.ids) DataManager.HeroData:setDirty() DataManager.HeroData:calcPower() AudioManager:playEffect(AudioManager.EFFECT_ID.HERO_UP) end end --@endregion return EquipManager