GoodsDestroyView = GoodsDestroyView or BaseClass(BaseView)
|
|
local GoodsDestroyView = GoodsDestroyView
|
|
|
|
function GoodsDestroyView:__init()
|
|
self.base_file = "bag"
|
|
self.layout_file = "GoodsDestroyView"
|
|
self.layer_name = "Top"
|
|
self.destroy_imm = true
|
|
self.use_background = true
|
|
self.change_scene_close = true
|
|
self.is_set_zdepth = true
|
|
self.is_delay_callback = false
|
|
|
|
self.fix_item_list = {}
|
|
--self.use_local_view = true
|
|
|
|
self.model = GoodsModel:getInstance()
|
|
self.load_callback = function ()
|
|
self:LoadSuccess()
|
|
self:InitEvent()
|
|
end
|
|
self.open_callback = function ()
|
|
self:InitView()
|
|
end
|
|
self.close_callback = function ()
|
|
self:Remove()
|
|
end
|
|
end
|
|
|
|
function GoodsDestroyView:Remove()
|
|
for i,item in pairs(self.fix_item_list) do
|
|
item:ReleaseObj()
|
|
end
|
|
self.fix_item_list = {}
|
|
end
|
|
|
|
function GoodsDestroyView:InitView()
|
|
self.destroy_list = {}
|
|
local data = nil
|
|
local goods_dic = self.model:GetBagGoodsDic()
|
|
for index,good_vo in pairs(goods_dic) do
|
|
if self.model:CheckIsExpireTime(good_vo) then
|
|
if #self.destroy_list < 20 then --一次性最多20个
|
|
data = {
|
|
style = 0,
|
|
typeId = good_vo.type_id,
|
|
goods_id = good_vo.goods_id,
|
|
count = good_vo.goods_num
|
|
}
|
|
table.insert(self.destroy_list,data)
|
|
end
|
|
end
|
|
end
|
|
|
|
|
|
local total_list = self.destroy_list
|
|
|
|
if #total_list < 5 then
|
|
self.item_parent.anchoredPosition = Vector2(240 - ((#total_list - 1) * 98 + 84 )/ 2,-17)
|
|
else
|
|
self.item_parent.anchoredPosition = Vector2(6,-17)
|
|
end
|
|
|
|
for i,v in ipairs(total_list) do
|
|
local item = self.fix_item_list[i]
|
|
if item == nil then
|
|
item = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem, self.item_parent)
|
|
self.fix_item_list[i] = item
|
|
end
|
|
|
|
|
|
local goods_Id, lock = GoodsModel:getInstance():GetMappingTypeId(v.style, v.typeId)
|
|
item:SetData(goods_Id,v.count,nil,nil,lock,nil,nil,nil,self.layer_name)
|
|
item:SetVisible(true)
|
|
item:SetItemSize(90, 90)
|
|
item:SetAnchoredPosition(98 * (i - 1),0)
|
|
end
|
|
|
|
self.mContent.sizeDelta = Vector2(#total_list * 98,200)
|
|
|
|
for i=#total_list + 1,#self.fix_item_list do
|
|
self.fix_item_list[i]:SetVisible(false)
|
|
end
|
|
end
|
|
|
|
function GoodsDestroyView:LoadSuccess()
|
|
|
|
self.confirmBtn,
|
|
self.cancelBtn = self:GetChildGameObjects({
|
|
"confirmBtn",
|
|
"cancelBtn",
|
|
})
|
|
|
|
self.mContent,
|
|
self.item_parent = self:GetChildTransforms({
|
|
"ScrollView/Viewport/Content",
|
|
"ScrollView/Viewport/Content/ItemParent",
|
|
})
|
|
end
|
|
|
|
function GoodsDestroyView:Open()
|
|
BaseView.Open(self)
|
|
end
|
|
|
|
function GoodsDestroyView:InitEvent()
|
|
local function click_handler(target)
|
|
if target == self.confirmBtn then
|
|
if #self.destroy_list > 0 then
|
|
GoodsModel:getInstance():Fire(GoodsModel.REQUEST_CCMD_EVENT, 15051,1, self.destroy_list)
|
|
end
|
|
self:Close()
|
|
elseif target == self.cancelBtn then
|
|
self:Close()
|
|
end
|
|
end
|
|
AddClickEvent(self.confirmBtn, click_handler, 2)
|
|
AddClickEvent(self.cancelBtn, click_handler, 2)
|
|
end
|
|
|