UGCProjects/GZJ/Script/UI/ChildWidgets/WBP_DragItemVisual.lua
2025-01-08 22:46:12 +08:00

64 lines
1.7 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---@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;