53 lines
1.7 KiB
Lua
53 lines
1.7 KiB
Lua
|
local XUiDormBagRecycle = XLuaUiManager.Register(XLuaUi, "UiDormBagRecycle")
|
||
|
local XUiGridFurniture = require("XUi/XUiDormBag/XUiGridFurniture")
|
||
|
|
||
|
|
||
|
function XUiDormBagRecycle:OnAwake()
|
||
|
self:AddListener()
|
||
|
end
|
||
|
|
||
|
function XUiDormBagRecycle:OnStart(recycleFurnitures, rewardItems, openFinishCallBack, closeFinishCallBack)
|
||
|
self.RecycleItems = {}
|
||
|
self.RewardItems = {}
|
||
|
self.OpenFinishCallBack = openFinishCallBack
|
||
|
self.CloseFinishCallBack = closeFinishCallBack
|
||
|
self:Refresh(recycleFurnitures, rewardItems)
|
||
|
end
|
||
|
|
||
|
function XUiDormBagRecycle:Refresh(recycleFurnitures, rewardItems)
|
||
|
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
|
||
|
|
||
|
local onFurnitureCreate = function(item, id)
|
||
|
item:Refresh(id)
|
||
|
end
|
||
|
|
||
|
XUiHelper.CreateTemplates(self, self.RecycleItems, recycleFurnitures, XUiGridFurniture.New, self.GridFurnitureRecycle.gameObject, self.PanelRecycle, onFurnitureCreate)
|
||
|
XUiHelper.CreateTemplates(self, self.RewardItems, rewardGridDatas, XUiBagItem.New, self.GridFurnitureRecycle.gameObject, self.PanelReward, onCreate)
|
||
|
self.GridFurnitureRecycle.gameObject:SetActive(false)
|
||
|
|
||
|
if self.OpenFinishCallBack then
|
||
|
self.OpenFinishCallBack()
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function XUiDormBagRecycle:AddListener()
|
||
|
self:RegisterClickEvent(self.BtnClose, self.OnBtnCloseClick)
|
||
|
end
|
||
|
|
||
|
function XUiDormBagRecycle:OnBtnCloseClick()
|
||
|
self:Close()
|
||
|
if self.CloseFinishCallBack then
|
||
|
self.CloseFinishCallBack()
|
||
|
end
|
||
|
end
|
||
|
|
||
|
return XUiDormBagRecycle
|