64 lines
1.7 KiB
Lua
64 lines
1.7 KiB
Lua
---@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; |