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