---@class WBP_FittingItemInfo_C:UUserWidget ---@field TextBlock_Desc UTextBlock ---@field TextBlock_Name UTextBlock ---@field TextBlock_Pos UTextBlock ---@field WBP_CloseWidget UWBP_CloseWidget_C ---@field WBP_WidgetHeader UWBP_WidgetHeader_C --Edit Below-- -- 这个界面是显示物品具体属性的界面 local WBP_FittingItemInfo = { bInitDoOnce = false; CurrentVisualItemWidget = nil, }; function WBP_FittingItemInfo:Construct() self.WBP_CloseWidget:SetWidgetToClose(self) self.WBP_WidgetHeader:Construct() end -- function WBP_FittingItemInfo:Tick(MyGeometry, InDeltaTime) -- end -- function WBP_FittingItemInfo:Destruct() -- end function WBP_FittingItemInfo:SetInfoItemData(InData, InWidget) -- 这里是显示具体的内容的位置 -- 获取品质 self.CurrentVisualItemWidget = InWidget local Id = InData.ItemID if Id > 20000 then if Id < 20900 then --天赋技能,不用进行赋值 else local Quality = DropItemMap.SkillItemMap[Id].Quality local Desc = DropItemMap.SkillItemMap[Id].Desc local Name = DropItemMap.SkillItemMap[Id].SkillName local ColdDown = DropItemMap.SkillItemMap[Id].ColdDown local Cost = DropItemMap.SkillItemMap[Id].Cost self.TextBlock_Name:SetText(string.format("%s-%s", Quality, Name)) self.TextBlock_Pos:SetText(string.format('冷却时间:%d\n消耗能量值:%d', ColdDown, Cost)) self.TextBlock_Desc:SetText("属性:".. Desc) end else local Quality = DropItemMap.FittingItemMap[Id].Quality local FittingType = DropItemMap.FittingItemMap[Id].FittingType local WeaponType = DropItemMap.FittingItemMap[Id].WeaponType local Props = DropItemMap.FittingItemMap[Id].Props local str = "" for _, v in pairs(Props) do local c = v.Value == 0 local r = '' if not c then r = tostring(v.Value) end local Val = '' local PercentIndex = string.find(v.Type, '%%') if PercentIndex ~= nil then Val = string.gsub(v.Type, '%%', '') end str = str .. Val if v.Unit ~= 'Special' then str = str .. '+' .. r str = str .. v.Unit end str = str .. '\n' end self.TextBlock_Name:SetText(string.format("%s-%s", Quality, FittingType)) self.TextBlock_Pos:SetText( WeaponType ) self.TextBlock_Desc:SetText( "属性:".. str) end end function WBP_FittingItemInfo:OnMouseButtonUp(MyGeometry, InTouchEvent) if UIManager.AllPanel[EUIType.Backpack]:GetOperateType() == EBagOperateType.None then EventSystem:SendEvent(EventType.ShowItemDescribe, self.FittingData, false) end if self.CurrentVisualItemWidget ~= nil then self.CurrentVisualItemWidget:RestProperty() end end function WBP_FittingItemInfo:OnMouseMove(MyGeometry, MouseEvent) --当鼠标移动的时候 self:SetVisibility(ESlateVisibility.Collapsed) return WBP_FittingItemInfo.SuperClass:OnMouseMove(MyGeometry, MouseEvent) end --当移除的时候 function WBP_FittingItemInfo:OnFocusLost(InFocusEvent) print('[WBP_FittingItemInfo:OnFocusLost] 开始执行') self:SetVisibility(ESlateVisibility.Collapsed) return WBP_FittingItemInfo.SuperClass:OnFocusLost(InFocusEvent) end return WBP_FittingItemInfo;