71 lines
2.2 KiB
Lua
71 lines
2.2 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 = GetLanguageStrById(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
|