|
|
- CapsuleEggWarehouseView = CapsuleEggWarehouseView or BaseClass(BaseItem)
- local CapsuleEggWarehouseView = CapsuleEggWarehouseView
-
- function CapsuleEggWarehouseView:__init()
- self.base_file = "capsuleEgg"
- self.layout_file = "CapsuleEggWarehouseView"
- self.model = CapsuleEggModel:getInstance()
-
- self.bag_item_list = {} --背包物品列表
- self.column_num = 9 --一行几个图标
- self.defult_slot = 45 --默认最少生成空格数
- self.warehouse_item_count = 0 --仓库物品数量
-
- self:Load()
- end
-
- function CapsuleEggWarehouseView:Load_callback()
- self.nodes = {
- "ScrollView", "ScrollView/Viewport/Content", "ScrollView/Viewport/Content/item_con",
- "takeOutBtn:obj",
- }
- self:GetChildren(self.nodes)
-
- self.loop_mgr = LoopScrowViewMgr.New()
-
- self:AddEvents()
- if self.need_refreshData then
- self.model:Fire(CapsuleEggConst.REQUEST_CCMD_EVENT,17007)
- end
- end
-
- function CapsuleEggWarehouseView:AddEvents( )
- local on_click = function ( click_obj )
- if self.takeOutBtn_obj == click_obj then --一键取出
- self.model:Fire(CapsuleEggConst.REQUEST_CCMD_EVENT,17009)
- end
- end
- AddClickEvent(self.takeOutBtn_obj, on_click)
-
- --取出之后的处理
- local function on_take_all()
- if self.is_loaded then
- self:UpdateView()
- end
- end
- self:BindEvent(self.model,CapsuleEggConst.TAKE_OUT_ALL_REWARD,on_take_all)
-
- --刷新仓库界面
- local function on_update_warehouse_view()
- if self.is_loaded then
- self:UpdateView()
- end
- end
- self:BindEvent(self.model,CapsuleEggConst.UPDATE_WAREHOUSE_VIEW,on_update_warehouse_view)
- end
-
- function CapsuleEggWarehouseView:UpdateView( )
- self.warehouse_data = self.model:GetWarehouseData()
- self.warehouse_item_count = #self.warehouse_data
-
- local total_num = 0
- if self.warehouse_item_count > self.defult_slot then
- total_num = self.warehouse_item_count+(9-self.warehouse_item_count%9)
- else
- total_num = self.defult_slot
- end
- for k = 1,self.defult_slot do
- local item = self.bag_item_list[k]
- if item == nil then
- item = CapsuleEggWarehouseItem.New(self.item_con,nil,self.layer_name)
- item:SetVisible(false,true)
- self.bag_item_list[k] = item
- end
- end
- self.loop_mgr:Init(self.ScrollView,self.Content,self.column_num,84+17,84+6,function(item,index,realIndex )
- self:OnInitializeItem(item,index,realIndex )
- end)
- self.loop_mgr:InitChildren(self.bag_item_list, total_num)
- self.loop_mgr:RestToBeginning()
- self.loop_mgr:ForceUpdateCurrentItems()
- self.loop_mgr:SetContentSizeData()
- end
-
- function CapsuleEggWarehouseView:OnInitializeItem(item,index,realIndex)
- if item and realIndex > 0 and realIndex <= self.warehouse_item_count then
- item:SetData(self.warehouse_data[realIndex],realIndex)
- else
- item:SetData(nil)
- end
- end
-
- function CapsuleEggWarehouseView:SetData( )
- if self.is_loaded then
- self.need_refreshData = false
- self.model:Fire(CapsuleEggConst.REQUEST_CCMD_EVENT,17007)
- else
- self.need_refreshData = true
- end
- end
-
- function CapsuleEggWarehouseView:__delete( )
- for k,v in pairs(self.bag_item_list) do
- v:DeleteMe()
- v = nil
- end
- self.bag_item_list = {}
-
- if self.loop_mgr then
- self.loop_mgr:DeleteMe()
- self.loop_mgr = nil
- end
-
- end
|