源战役客户端
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

116 lines
3.0 KiB

SwallowBagItem = SwallowBagItem or BaseClass(BaseItem)
function SwallowBagItem:__init(parent_wnd, prefab_asset, layer_name)
self.base_file = "bag"
self.layout_file = "BagItem"
self.is_delay_callback = true
self.model = BagModel:getInstance()
self:Load()
end
function SwallowBagItem:Load_callback()
self.default_conta = self:GetChild("default_conta").gameObject
self.equip_conta = self:GetChild("equip_conta")
self.imgLock = self:GetChild("imgLock").gameObject
self.touch = self:GetChild("touch").gameObject
self.imgSelect = self:GetChild("swallow_select").gameObject
-- self.imgSelect2 = self:GetChild("imgSelect/image").gameObject
self.icon_item = SwallowBagIconItem.New(self.equip_conta)
self.icon_item:SetItemSize(82,82)
self.touch:SetActive(false)
-- self.imgSelect2:SetActive(false)
SetAnchoredPosition(self.default_conta.transform,-0.352,0.991)
self.default_conta:SetActive(false)
if self.need_refreshData then
self:SetData(self.data,self.index)
self:UpdateSelect()
end
self:InitEvent()
end
function SwallowBagItem:InitEvent()
local function onClickHandler(target)
local state = not self.imgSelect.activeSelf
self:SetSelect(state)
end
AddClickEvent(self.touch,onClickHandler)
end
function SwallowBagItem:SetData(data,index)
self.data = data
self.index = index
if self.is_loaded then
if self.data == nil then
self:ClearData()
return
end
self.touch:SetActive(true)
if self.data.goods_num > 0 then
if self.icon_item then
self.icon_item:SetVisible(true)
self.icon_item:SetData(self.data)
end
else
self:ClearData()
end
else
self.need_refreshData = true
end
end
function SwallowBagItem:SetVoid()
self:ClearData()
end
function SwallowBagItem:ClearData()
self.data = nil
self.default_conta:SetActive(true)
self.touch:SetActive(false)
self.imgSelect:SetActive(false)
if self.icon_item then
self.icon_item:SetVisible(false, false)
end
end
function SwallowBagItem:SetSelect(bool)
if self.data then
-- if self.data.color >= 3 and bool then
-- local ok_callback = function()
-- if self._use_delete_method then return end
-- if self.is_loaded then
-- self.imgSelect.gameObject:SetActive(bool)
-- end
-- self.model:Fire(BagModel.CLICK_EQUIP_ITEM,self.data.type,self.index,bool)
-- end
-- Alert.show("您选中的装备为稀有装备,确定要吞噬吗?", Alert.Type.Two, ok_callback, nil,"确定", "取消")
-- else
-- self.imgSelect:SetActive(bool)
-- self.model:Fire(BagModel.CLICK_EQUIP_ITEM,self.data.type,self.index,bool)
-- end
self.imgSelect:SetActive(bool)
self.model:Fire(BagModel.CLICK_EQUIP_ITEM,self.data.type, self.data.type_id, self.index, bool)
end
end
function SwallowBagItem:UpdateSelect()
if self.is_loaded then
if self.data == nil then
self.imgSelect:SetActive(false)
return
end
self.imgSelect:SetActive(self.data.isSelect)
else
self.need_refreshData = true
end
end
function SwallowBagItem:__delete()
if self.icon_item then
self.icon_item:DeleteMe()
end
end