miduo_client/Assets/ManagedResources/~Lua/View/RewardPanel.lua

69 lines
2.1 KiB
Lua

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