46 lines
1.7 KiB
Lua
46 lines
1.7 KiB
Lua
|
local XUiPanelBagRecycle = XClass(nil, "XUiPanelBagRecycle")
|
||
|
|
||
|
function XUiPanelBagRecycle:Ctor(rootUi, ui)
|
||
|
self.RootUi = rootUi
|
||
|
self.GameObject = ui.gameObject
|
||
|
self.Transform = ui.transform
|
||
|
self.RecycleItems = {}
|
||
|
self.RewardItems = {}
|
||
|
|
||
|
XTool.InitUiObject(self)
|
||
|
self:AutoAddListener()
|
||
|
|
||
|
self.GridBagItemRecycle.gameObject:SetActive(false)
|
||
|
end
|
||
|
|
||
|
function XUiPanelBagRecycle:Refresh(recycleItems, rewardItems)
|
||
|
local recycleGridDatas = {}
|
||
|
for index, item in pairs(recycleItems) do
|
||
|
table.insert(recycleGridDatas, { Data = XRewardManager.CreateRewardGoods(item.Id, item.Count), GridIndex = index })
|
||
|
end
|
||
|
|
||
|
local rewardGridDatas = {}
|
||
|
local sortedRewardItems = XRewardManager.MergeAndSortRewardGoodsList(rewardItems)
|
||
|
for index, data in pairs(sortedRewardItems) do
|
||
|
table.insert(rewardGridDatas, { Data = data, GridIndex = index })
|
||
|
end
|
||
|
|
||
|
local onCreate = function(item, data)
|
||
|
item:Refresh(data, false, true, true)
|
||
|
end
|
||
|
XUiHelper.CreateTemplates(self.RootUi, self.RecycleItems, recycleGridDatas, XUiBagItem.New, self.GridBagItemRecycle.gameObject, self.PanelRecycle, onCreate)
|
||
|
XUiHelper.CreateTemplates(self.RootUi, self.RewardItems, rewardGridDatas, XUiBagItem.New, self.GridBagItemRecycle.gameObject, self.PanelReward, onCreate)
|
||
|
self.GameObject:SetActive(true)
|
||
|
self.RootUi:PlayAnimation("AnimTanChuangEnable")
|
||
|
end
|
||
|
|
||
|
function XUiPanelBagRecycle:AutoAddListener()
|
||
|
self.BtnClose.CallBack = function() self:OnBtnCloseClick() end
|
||
|
end
|
||
|
|
||
|
function XUiPanelBagRecycle:OnBtnCloseClick()
|
||
|
self.RootUi:PlayAnimation("AnimTanChuangDisable")
|
||
|
self.GameObject:SetActive(false)
|
||
|
end
|
||
|
|
||
|
return XUiPanelBagRecycle
|