--UI_BagItem.lua
local BaseIcon = require "ui.UI_BaseIcon"--基地图标
local UI_BagItem = Inherit(BaseIcon)--背包道具
UI_BagItem:DynamicLoad("/Game/UI/HUD/Bag/BagItem.BagItem")--动态载入
--Event
local OnClicked
--Data
local m_IconWidget --物品ICON
local m_eItemType --物品类型
local m_iItemID --物品ID
local m_iOutTime --过期时间
local m_sName --物品名字
local m_bIsEmpty --是否是占位用的空物品
function UI_BagItem:Ctor(controller)
self:BindWidgets()
self:InitEvent()
end
function UI_BagItem:BindWidgets()--捆绑小工具
self.UI_IMG_Select = self:Wnd("Image_Select")
self.UI_BORDER_IconParent = self:Wnd("Border_Icon")--边框图标
self.UI_LABEL_Name = self:Wnd("TextBlock_Name")
self.UI_BUTTON_Event = self:Wnd("Button_Event")
self.UI_IMG_New = self:Wnd("Image_New")
self.UI_IMG_New:SetVisibility(ESlateVisibility.Collapsed)
self:Wnd("CanvasPanel_none"):SetVisibility(ESlateVisibility.Hidden)
end
function UI_BagItem:InitEvent()
self.UI_IMG_Select:SetVisibility(ESlateVisibility.Collapsed)
self.UI_BUTTON_Event:Event("OnClicked", self.OnClickedEvent, self)
end
function UI_BagItem:OnClickedEvent() --点击事件
if self.m_bIsEmpty then return end
if self.OnClicked then
self.OnClicked(self)
end
end
function UI_BagItem:SetWidgetInfo(_ItemType, _ItemID, _OutTime, _ItemCfg) --设置窗口信息
if self.m_IconWidget then
self.m_IconWidget:Destroy()
self.m_IconWidget = nil
end
self.m_bIsEmpty = false
self.m_eItemType = _ItemType
self.m_iItemID = _ItemID
self.m_iOutTime = _OutTime
self.m_IconWidget = self:InitAllItemIcon(_ItemType, _ItemID, 0)
self.m_IconWidget:SetUseEvent(false)
self.m_IconWidget:SetWidgetSize(self.UI_BORDER_IconParent.Slot:GetSize().X)
self.m_IconWidget:SetQuality(_ItemCfg.ItemQuality)
UPanelWidget.AddChild(self.UI_BORDER_IconParent, self.m_IconWidget)
self:SetIsSelect(false)
end
function UI_BagItem:GetItemType() --获取道具类型
return self.m_eItemType
end
function UI_BagItem:GetItemID() --获取道具ID
return self.m_iItemID
end
function UI_BagItem:GetOutTime() --获取过期时间
return self.m_iOutTime
end
function UI_BagItem:GetIconWidget() --获取窗口图标
return self.m_IconWidget
end
function UI_BagItem:SetItemName(_ItemName) --设置道具名字
self.m_sName = _ItemName
self.UI_LABEL_Name:SetText(_ItemName)
end
function UI_BagItem:SetIsSelect(_bSelect) --设置是选中
if _bSelect then
self.UI_IMG_Select:SetVisibility(ESlateVisibility.Visible)
else
self.UI_IMG_Select:SetVisibility(ESlateVisibility.Collapsed)
end
end
function UI_BagItem:SetIsNewItem(_bIsNewItem) --设置是新的道具
if _bIsNewItem then
self.UI_IMG_New:SetVisibility(ESlateVisibility.Visible)
else
self.UI_IMG_New:SetVisibility(ESlateVisibility.Collapsed)
end
end
function UI_BagItem:SetIsEmptyItem() --设置是空的道具
self.m_bIsEmpty = true
self:Wnd("CanvasPanel_normal"):SetVisibility(ESlateVisibility.Hidden)
self:Wnd("CanvasPanel_none"):SetVisibility(ESlateVisibility.SelfHitTestInvisible)
end
function UI_BagItem:DestroyChildren()
if self.m_IconWidget then
self.m_IconWidget:Destroy()
self.m_IconWidget = nil
end
end
return UI_BagItem