---@class WBP_FittingList_C:UAEUserWidget ---@field VerticalBox_WidgetList UVerticalBox ---@field WBP_FittingItem_C_0 UWBP_FittingItem_C ---@field WBP_FittingItem_C_1 UWBP_FittingItem_C ---@field WBP_FittingItem_C_2 UWBP_FittingItem_C ---@field WBP_FittingItem_C_3 UWBP_FittingItem_C --Edit Below-- local WBP_FittingList = { bInitDoOnce = false; }; --function WBP_FittingList:Construct() -- -- 将所有的都设置为空 --end -- 这里传入的是一个具体的列表{{id, count}, {id, count}, ...} function WBP_FittingList:SetFittingListData(InDataArr) for i = 1, 4 do -- 通过 Id 进行数据获取 if i <= #InDataArr then self:SetFittingListItemData(i, InDataArr[i]) else self:CloseItemWidget(i) end end end function WBP_FittingList:SetFittingListItemData(InNum, InData) local Widget = self:GetItemByIndex(InNum) Widget:SetFittingItemData(InData) end function WBP_FittingList:CloseItemWidget(InNum) local Widget = self:GetItemByIndex(InNum) Widget:CloseWidget() end function WBP_FittingList:GetItemByIndex(InIndex) return self.VerticalBox_WidgetList:GetChildAt(InIndex - 1) end function WBP_FittingList:Clear() for i = 1, self.VerticalBox_WidgetList:GetChildrenCount() do self:CloseItemWidget(i) end end function WBP_FittingList:Tick(MyGeometry, InDeltaTime) --print(string.format("[WBP_FittingList:Tick] 列表组件执行 Tick")) --for i = 1, self.VerticalBox_WidgetList:GetChildrenCount() do -- self.VerticalBox_WidgetList:GetChildAt(i - 1):Tick(MyGeometry, InDeltaTime) --end end -- function WBP_FittingList:Destruct() -- end function WBP_FittingList:GetListItems() local ret = {} for i = 1, 4 do table.insert(ret, self.VerticalBox_WidgetList:GetChildAt(i - 1)) end return ret end -- function WBP_FittingList:OnDrop(MyGeometry, PointerEvent, Operation) local ItemData = Operation:GetItemData() local Type = Operation:GetDropItemType() if Type == EItemDropType.CancelGenerate then EventSystem:SendEvent(EventType.CloseGenerateItem, ItemData.ItemID) else return end end return WBP_FittingList;