---@class WB_Task_Item_C:UUserWidget ---@field HorizontalBox_Reward UHorizontalBox ---@field TextBlock_Name UTextBlock ---@field TextBlock_TaskCount UTextBlock --Edit Below-- local WB_Task_Item = { bInitDoOnce = false; }; --[==[ Construct function WB_Task_Item:Construct() end -- Construct ]==] -- function WB_Task_Item:Tick(MyGeometry, InDeltaTime) -- end -- function WB_Task_Item:Destruct() -- end function WB_Task_Item:Init(InTaskType) self.TaskType = InTaskType self.DailyLimit = DailyTasksConfig.TaskInfo[self.TaskType].DailyLimit self.TextBlock_Name:SetText(tostring(DailyTasksConfig.TaskName[self.TaskType])) for i = 1, self.HorizontalBox_Reward:GetChildrenCount() do local Item = self.HorizontalBox_Reward:GetChildAt(i - 1) local Reward = DailyTasksConfig.TaskInfo[self.TaskType].Reward[i] if Reward then Item:Init(Reward.Type, Reward.Count) Item:SetVisibility(ESlateVisibility.SelfHitTestInvisible) else Item:SetVisibility(ESlateVisibility.Collapsed) end end self:UpdateTaskCount() UGCEventSystem.AddListener(ArchiveDataConfig.GetParamNotifyEvent(ArchiveDataConfig.EArchiveType.DailyTasks), self.UpdateTaskCount, self) end function WB_Task_Item:UpdateTaskCount() local DailyTasksInfo = ArchiveDataConfig.GetPlayerArchiveDataFromType(UGCSystemLibrary.GetLocalPlayerKey(), ArchiveDataConfig.EArchiveType.DailyTasks) local CompletedCount = 0 if DailyTasksInfo and DailyTasksInfo[self.TaskType] then CompletedCount = DailyTasksInfo[self.TaskType] end self.TextBlock_TaskCount:SetText(string.format("%s/%s", tostring(CompletedCount), tostring(self.DailyLimit))) end return WB_Task_Item;