UGCProjects/GZJ/Script/UI/ChildWidgets/WBP_DragItemVisual.lua

64 lines
1.7 KiB
Lua
Raw Normal View History

2025-01-08 22:46:12 +08:00
---@class WBP_DragItemVisual_C:UUserWidget
---@field CanvasPanel_Images UCanvasPanel
---@field Image_Icon UImage
---@field WidgetSwitcher_BG UWidgetSwitcher
--Edit Below--
local WBP_DragItemVisual = {
bInitDoOnce = false;
bHasInit = false
};
function WBP_DragItemVisual:Construct()
WBP_DragItemVisual.SuperClass:Construct()
self.bHasInit = true
self.Image_Icon:SetVisibility(ESlateVisibility.SelfHitTestInvisible)
end
-- function WBP_DragItemVisual:Tick(MyGeometry, InDeltaTime)
-- end
-- function WBP_DragItemVisual:Destruct()
-- end
-- 这个数据只会是一个 Id一个 Count
function WBP_DragItemVisual:SetVisualItemData(InData, InBrush)
if self == nil then
print("此时还未创建,说明有问题")
else
print("此时已经创建")
end
if not self.bHasInit then
return
end
--让数据为空的不要进行拖拽
if InData == nil then
self:SetVisibility(ESlateVisibility.Collapsed)
return
end
print(string.format("实现了 OnDragDetected 方法"))
print(string.format("[WBP_FittingDragVisual:SetVisualItemData] 获取 ItemData 里面的数据Id%d, Count: %d", InData.ItemID, InData.ItemCount))
-- 通过表查找对应的图片并加载
local Icon = nil
if GameDataManager ~= nil then
Icon = GameDataManager.GetItemInfoByItemID(InData.ItemID).Icon
end
self:SetItemBGColor(GetItemQualityLevel(InData.ItemID))
if Icon ~= nil then
print("Icon 是有值的")
UIManager.LoadTexture(self.Image_Icon, Icon)
self.Image_Icon:SetVisibility(ESlateVisibility.SelfHitTestInvisible)
else
print("Icon 为空~")
self.Image_Icon:SetVisibility(ESlateVisibility.SelfHitTestInvisible)
end
end
function WBP_DragItemVisual:SetItemBGColor(InLevel)
self.WidgetSwitcher_BG:SetActiveWidgetIndex(InLevel)
end
return WBP_DragItemVisual;