miduo_client/Assets/ManagedResources/~Lua/View/RewardPanel.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