RewardPanel = {} function RewardPanel:New(gameObject) local b = {} b.gameObject = gameObject b.transform = gameObject.transform setmetatable(b, { __index = RewardPanel }) return b end --初始化组件(用于子类重写) function RewardPanel:InitComponent() self.spLoader = SpriteLoader.New() self.bg = Util.GetGameObject(self.gameObject,"BG") self.titleIma = Util.GetGameObject(self.bg,"Image") self.title = Util.GetGameObject(self.titleIma,"Text"):GetComponent("Text") self.content = Util.GetGameObject(self.bg,"getInfo"):GetComponent("Text") self.grid = Util.GetGameObject(self.bg,"ViewRect/grid") self.rewardMaskBtn = Util.GetGameObject(self.gameObject,"rewardMaskBtn") self.items = {} self.data = {} end function RewardPanel:BindEvent() Util.AddOnceClick(self.rewardMaskBtn,function() self.gameObject:SetActive(false) end) end function RewardPanel:OnOpen(vec) end function RewardPanel:SetData(data,sortingOrder) self.data = data self.bg.transform.localPosition = data.pos self.gameObject:SetActive(true) if self.data.title and self.data.title ~= "" then self.title.text = self.data.title self.titleIma.gameObject:SetActive(true) else self.titleIma.gameObject:SetActive(false) end if self.data.content and self.data.content ~= "" then self.content.text = self.data.content self.content.gameObject:SetActive(true) else self.content.gameObject:SetActive(false) end for i = 1,#self.items do self.items[i].gameObject:SetActive(false) end for i = 1,#self.data.shows do if not self.items[i] then self.items[i] = SubUIManager.Open(SubUIConfig.ItemView,self.grid.transform) end self.items[i]:OnOpen(false, {self.data.shows[i][1],self.data.shows[i][2]}, 0.8,false,false,false,sortingOrder) self.items[i].gameObject:SetActive(true) end end function RewardPanel:OnClose() self.spLoader:Destroy() for i = 1,#self.items do SubUIManager.Close(self.items[i]) end self.items = {} end return RewardPanel