MissionPre = {} local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig) local parent function MissionPre:New(gameObject) local b = {} b.gameObject = gameObject b.transform = gameObject.transform setmetatable(b, { __index = MissionPre }) return b end local rechargeNum --初始化组件(用于子类重写) function MissionPre:InitComponent() self.upLayout = Util.GetGameObject(self.gameObject, "bg/upLayout") self.middleLayout = Util.GetGameObject(self.gameObject, "bg/middleLayout") self.type1 = Util.GetGameObject(self.upLayout, "type1") self.type1Text1 = Util.GetGameObject(self.type1, "text1"):GetComponent("Text") self.type1Text3 = Util.GetGameObject(self.type1, "text3"):GetComponent("Text") self.numGrid = Util.GetGameObject(self.type1, "NumTextPre") self.numList = {} for i = 1, self.numGrid.transform.childCount do table.insert(self.numList,self.numGrid.transform:GetChild(i-1):GetComponent("Text")) end self.btnGet = Util.GetGameObject(self.middleLayout, "btnGet") self.btnGetText = Util.GetGameObject(self.btnGet, "get"):GetComponent("Text") self.redPoint = Util.GetGameObject(self.btnGet, "redPoint") self.buyInfo = Util.GetGameObject(self.btnGet, "buyInfo"):GetComponent("Text") self.shadow=Util.GetGameObject(self.middleLayout,"shadow") self.grid = Util.GetGameObject(self.middleLayout, "scrollView/grid") self.contents = Util.GetGameObject(self.middleLayout, "contents") self.itemName = Util.GetGameObject(self.middleLayout, "contents/name"):GetComponent("Text") self.content = Util.GetGameObject(self.middleLayout, "contents/condition"):GetComponent("Text") self.data = {} self.itemList = {} end --绑定事件(用于子类重写) function MissionPre:BindEvent() Util.AddOnceClick(self.btnGet, function() if self.func then self.func(self.data,self.parent.curActiId,self.parent) end end) end --添加事件监听(用于子类重写) function MissionPre:AddListener() end --移除事件监听(用于子类重写) function MissionPre:RemoveListener() end function MissionPre:OnOpen() end function MissionPre:SetData(data,_parent,sortingOrder,func) self.data = data self.parent = _parent self.sortingOrder = sortingOrder self.func = func if self.data.title and self.data.title ~= "" then self.upLayout.gameObject:SetActive(true) else self.upLayout.gameObject:SetActive(false) end if (not self.data.itemName or self.data.itemName == "") and (not self.data.content or self.data.content == "") then self.contents:SetActive(false) else self.contents:SetActive(true) end if self.data.itemName and self.data.itemName ~= "" then self.itemName.gameObject:SetActive(true) self.itemName.text = self.data.itemName else self.itemName.gameObject:SetActive(false) end if self.data.content and self.data.content ~= "" then self.content.gameObject:SetActive(true) self.content.text = self.data.content else self.content.gameObject:SetActive(false) end if self.data.buyInfo and self.data.buyInfo ~= "" then self.buyInfo.text = self.data.buyInfo self.buyInfo.gameObject:SetActive(true) else self.buyInfo.gameObject:SetActive(false) end if not self.itemList then self.itemList = {} end for i = 1, #self.itemList do self.itemList[i].gameObject:SetActive(false) end for i = 1, #self.data.shows do if not self.itemList[i] then self.itemList[i] = SubUIManager.Open(SubUIConfig.ItemView,self.grid.transform) self.itemList[i].gameObject:SetActive(false) end self.itemList[i]:OnOpen(false, {self.data.shows[i][1],self.data.shows[i][2]}, 0.9,false,false,false,sortingOrder) self.itemList[i].gameObject:SetActive(true) end self:SetIcon(self.data) self:SetContent1() end function MissionPre:SetContent1() end function MissionPre:SetIcon(_itemdata) --0 未领取(等级已达到,未购买基金) 1 已领取 -1 未达到等级 2可领取 Util.SetGray(self.btnGet,false) self.btnGet:GetComponent("Image").sprite = Util.LoadSprite("s_slbz_1anniuongse") self.redPoint.gameObject:SetActive(false) self.btnGet:GetComponent("Button").enabled = true if self.data.state == -1 then Util.SetGray(self.btnGet,true) self.btnGetText.text = "领取" elseif self.data.state == 2 then self.redPoint.gameObject:SetActive(true) self.btnGetText.text = "领取" elseif self.data.state == 1 then self.redPoint.gameObject:SetActive(false) self.btnGetText.text = "已领取" self.btnGet:GetComponent("Button").enabled = false Util.SetGray(self.btnGet,true) elseif self.data.state == 0 then self.redPoint.gameObject:SetActive(true) self.btnGetText.text = "领取" end end function MissionPre:OnClose() for k,v in pairs(self.itemList) do SubUIManager.Close(v) end self.itemList = {} end return MissionPre