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