1.创建的蓝图文件夹命名必须是Blueprints
2.师徒界面是固定3天分组,并且奖励数量超过8条会静默丢失。数量超过6条就会进入三天分组,但是函数只能容纳8条数据
3.任务任意更新后,无条件隐藏充值按钮

1
2
3
4
5
6
7
8
9
10
11
12

self:AddEventListener(_MOE.Models.FirstChargeModel.FirstChargeModel_RefreshReward, self.RefreshRechargeBtnVisibility)
--奖励 Item 发现任务 ID 出现在任务更新集合中,就会派发:然后执行下列函数。但“任务发生更新”不一定代表任务已经完成,也可能只是:
--充值进度发生变化,但尚未达到目标;
--服务端重新同步任务;
--任务数据发生非状态更新。
function UI_Recharge_FirstChargeMain:RefreshRechargeBtnVisibility(index)
    if index == 1 then
        self:SwitcherSetActiveWidgetIndex(self.bp.w_switcher_Recharge, index)
    end

end

修改为

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
self:AddEventListener(_MOE.Models.FirstChargeModel.FirstChargeModel_RefreshReward, self.RefreshRechargeBtnVisibility) 
function FirstCharge_MainView:SetRechargeBtnVisibility()
    local state = self.IsShowRechargeBtn and 0 or 1  --在InitListUI已经进行判断是否完成充值任务
    self:SwitcherSetActiveWidgetIndex(self.bp.w_switcher_Recharge, state) --这里存在一个控件切换器,分别是充值按钮的垂直框和已解锁(一个图像)

end
--首充奖励刷新时,切换到"已领取"状态

function FirstCharge_MainView:RefreshRechargeBtnVisibility()
    if self.FirstChargeDataMap == nil then
        return
    end

    self.IsShowRechargeBtn = true
   
    local taskInfoModel = _MOE.Models.TaskSystemModel:GetTaskInfoModel()
    for _, taskData in ipairs(self.FirstChargeDataMap) do
local latestTaskData = taskData.m_taskId and taskInfoModel:GetTaskInfoById(taskData.m_taskId) or nil

if latestTaskData and latestTaskData:GetTaskIsCompletedOrFinish() then
self.IsShowRechargeBtn = false
break
end
end
    self:SetRechargeBtnVisibility()

end

本文从 LearnByCompany 原始文档 自动同步。