ItemUpstarPre = {} local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig) local parent local curSelectId = 0 function ItemUpstarPre:New(gameObject) local b = {} b.gameObject = gameObject b.transform = gameObject.transform setmetatable(b, { __index = ItemUpstarPre }) return b end --初始化组件(用于子类重写) function ItemUpstarPre:InitComponent() self.upLayout = Util.GetGameObject(self.gameObject,"Content/upLayout") self.midLayout = Util.GetGameObject(self.gameObject,"Content/middleLayout") self.btnExchange = Util.GetGameObject(self.midLayout,"btnBuy") self.btnText = Util.GetGameObject(self.btnExchange,"Text"):GetComponent("Text") self.btnRed = Util.GetGameObject(self.btnExchange,"redPoint") self.info = Util.GetGameObject(self.midLayout,"info") self.gridList ={} self.gridList[1] = Util.GetGameObject(self.midLayout,"itemNeed/item") self.gridList[2] = Util.GetGameObject(self.midLayout,"itemCost/item") self.gridList[3] = Util.GetGameObject(self.midLayout,"itemGet/item") self.itemList = {} self.btnMaskNeed = Util.GetGameObject(self.midLayout,"itemNeed/mask") self.btnMaskGet = Util.GetGameObject(self.midLayout,"itemGet/mask") end --绑定事件(用于子类重写) function ItemUpstarPre:BindEvent() Util.AddClick(self.btnMaskNeed,function () LogGreen("打开选择框") end) Util.AddClick(self.btnExchange,function () if curSelectId == 0 then PopupTipPanel.ShowTips("请选择想要升级的装备!") return end LogGreen("兑换") end) end --添加事件监听(用于子类重写) function ItemUpstarPre:AddListener() end --移除事件监听(用于子类重写) function ItemUpstarPre:RemoveListener() end function ItemUpstarPre:OnOpen() end function ItemUpstarPre:SetData(_data,_parent,_sortingOrder) self.data = _data self.parent = _parent self.sortingOrder = _sortingOrder self:Refresh() end function ItemUpstarPre:Refresh() local needItemId = curSelectId == 0 and self.data.needItems[1] or curSelectId local configData = ConfigManager.GetConfigData(ConfigName.ComposeBook,needItemId) local rewardList = {configData.NeedItems[1],configData.NeedCost[1],configData.GoalItems[1]} --设置内容 if not self.itemList then self.itemList = {} end for i = 1, #rewardList do if not self.itemList[i] then self.itemList[i] = SubUIManager.Open(SubUIConfig.ItemView,self.gridList[i].transform) end self.itemList[i]:OnOpen(false, rewardList[i], 1,false,false,false,self.sortingOrder) end self:SetMask() end function ItemUpstarPre:SetMask() if curSelectId == 0 then self.btnMaskNeed:SetActive(true) self.btnMaskGet:SetActive(true) Util.GetGameObject(self.itemList[1].gameObject,"effects"):SetActive(false) Util.GetGameObject(self.itemList[1].gameObject,"item/icon"):SetActive(false) Util.GetGameObject(self.itemList[3].gameObject,"effects"):SetActive(false) Util.GetGameObject(self.itemList[3].gameObject,"item/icon"):SetActive(false) else self.btnMaskNeed:SetActive(false) self.btnMaskGet:SetActive(false) Util.GetGameObject(self.itemList[1].gameObject,"effects"):SetActive(true) Util.GetGameObject(self.itemList[1].gameObject,"item/icon"):SetActive(true) Util.GetGameObject(self.itemList[3].gameObject,"effects"):SetActive(true) Util.GetGameObject(self.itemList[3].gameObject,"item/icon"):SetActive(true) end end function ItemUpstarPre:OnClose() curSelectId = 0 self.gridList = {} self.itemList = {} end return ItemUpstarPre