local UIOACommonTaskBase = require("View/OperationActivity/OACommonBase/UIOACommonTaskBase") local UIFriendRechargeTask = UIViewClass(UIOACommonTaskBase) local TaskTabs = { {{Name = "IDS_FriendRecharge_Task_Hint2", TaskType = 1}}, {{Name = "IDS_FriendRecharge_Task_Hint3", TaskType = 2}}, {{Name = "IDS_FriendRecharge_Task_Hint4", TaskType = 3}}, } function UIFriendRechargeTask:OnOpened(context) self.rechargeBaseInfo = MDL.FriendRecharge.GetRechargeBaseInfo() UIUtils.SetActive(self.group_Player.gameObject, self.rechargeBaseInfo.isUnlock) if self.rechargeBaseInfo.isUnlock then self.isTeam = MDL.FriendRecharge.GetRechargeType() == MDL.FriendRecharge.RechargeType.FRTeam if self.isTeam then self.teamMemberInfo = MDL.FriendRecharge.GetMemberPlayerInfo(self.rechargeBaseInfo.completedAcid) CTL.FriendRecharge.SetTeamMemberInfo(self.group_Player, self.teamMemberInfo, self.isTeam) if self.teamMemberInfo then CTL.FriendRecharge:SetFriendRechargePlayerInfo(self.group_Player.player2, self.teamMemberInfo) local memberFriendRechargeInfo = MDL.FriendRecharge.GetFriendRechargeInfo(self.teamMemberInfo.acid) if memberFriendRechargeInfo then self.group_Player.player2.group_Recharge:SetState(memberFriendRechargeInfo.rechargeType <= 0 and 0 or 1) else self.group_Player.player2.group_Recharge:SetState(0) end end else CTL.FriendRecharge.SetTeamMemberInfo(self.group_Player, nil, self.isTeam) end else self.isTeam = true end end function UIFriendRechargeTask:OnButtonClicked(comp) if comp == self.group_Level.btn_Buy then -- 购买等级,每次补完升级所需经验 UIManager.OpenView(Const_UI_Lua.UIEnum.UIFriendRechargePurchaseLv, {activityId = self.activityId, activityType = self.activityType}) elseif comp == self.btn_Up then -- 一键领取 if CTL.OACommon.IsHasTaskRedPoint(self.activityId) then MDL.OACommon.ClaimAtyTaskAllRwdRequest(self.activityId) else CTL.Tips.AddTipsMsg(Const_IDS["IDS_HonorOrder_ZanWuJiangLi"]) -- 暂无可领奖励 end elseif comp == self.group_Player.player2.btn_Chat then CTL.Friend.PrivateTalkToAcid(self.teamMemberInfo.acid) elseif comp == self.group_Level.btn_Lock then CTL.Tips.AddTipsMsg(Const_IDS["IDS_FriendRecharge_Reward_Hint6"]) -- 未解锁 end end function UIFriendRechargeTask:InitPanel() self.rechargeBaseInfo = MDL.FriendRecharge.GetRechargeBaseInfo() CTL.FriendRecharge:SetLevel(self.group_Level, self.isTeam) if self.loop_TaskLeftTab.Count > 0 then self.loop_TaskLeftTab:ClearCells() end local defaultTabId = 1 if self.context.selectTabId and self.context.selectTabId > 0 then defaultTabId = self.context.selectTabId self.context.selectTabId = nil else defaultTabId = CTL.OACommon.GetDefaultTabId(self.activityId) end self.loop_TaskLeftTab:AddData(self.isTeam and TaskTabs[1] or TaskTabs[2], 0) self.loop_TaskLeftTab:AddData(TaskTabs[3], 0) if MDL.FriendRecharge.SelectFriendRechargeTaskTabIndex >= 0 then self.loop_TaskLeftTab:SelectIndex(MDL.FriendRecharge.SelectFriendRechargeTaskTabIndex) else self.loop_TaskLeftTab:SelectIndex(0) end end function UIFriendRechargeTask:InitTaskTabCell(cellTable, data) local tabData = data[1] local nameIDS = data[1].Name if not self.rechargeBaseInfo.isUnlock and (tabData.TaskType == 1 or tabData.TaskType == 2) then nameIDS = "IDS_FriendRecharge_Task_Hint1" end UIUtils.SetLabelText(cellTable.txt_UnselectTabName, Const_IDS[nameIDS]) UIUtils.SetLabelText(cellTable.txt_SelectedTabName, Const_IDS[nameIDS]) cellTable.state_icon:SetState(tabData.TaskType - 1) if tabData.TaskType == 3 then cellTable.cell:SetRedPoint(CTL.OACommon.IsTabHasReward(self.activityId, tabData.TaskType)) else cellTable.cell:SetRedPoint(self.rechargeBaseInfo.isUnlock and CTL.OACommon.IsTabHasReward(self.activityId, tabData.TaskType)) end end function UIFriendRechargeTask:InitTaskInfoCell(cellTable, data) for i, v in ipairs(cellTable.group_Items) do local itemData = data.TaskReward_Table[i] if itemData then UIUtils.SetActive(v.gameObject.transform.parent, true) UTL.Item.SetItemCell(v, itemData.TaskRewardID, itemData.TaskRewardNum) else UIUtils.SetActive(v.gameObject.transform.parent, false) end end local status = MDL.OACommon.GetTaskStatus(self.activityId, data.ID) local taskStateEnum = MDL.OACommon.ActivityTaskState if data.TaskType == 3 then if status == taskStateEnum.UnDone then cellTable.state_Btn:SetState(1) elseif status == taskStateEnum.Done then cellTable.state_Btn:SetState(0) elseif status == taskStateEnum.Commit then cellTable.state_Btn:SetState(2) end else if self.rechargeBaseInfo.isUnlock then if status == taskStateEnum.UnDone then cellTable.state_Btn:SetState(1) elseif status == taskStateEnum.Done then cellTable.state_Btn:SetState(0) elseif status == taskStateEnum.Commit then cellTable.state_Btn:SetState(2) end else cellTable.state_Btn:SetState(3) end end local conditionData = MDL.OperationActivity.HotGenCondID:GetDataByCondID(data.CondID) local triggerData = conditionData.Task_Table[1] local triggerCount = MDL.OACommon.GetTriggerCount(self.activityId, triggerData.Trigger, triggerData.Param2) local targetParam, des = CTL.Hegemony.GetTriggerContentById(data.CondID, triggerCount, true) cellTable.txt_TaskContent.text = des UIUtils.SetLabelText(cellTable.txt_TaskName, Const_IDS[data.TaskName]) UIUtils.SetActive(cellTable.group_Daily, data.DailyTag == 1) end function UIFriendRechargeTask:RefreshTasks(isReset, index) local taskList = {} MDL.FriendRecharge.SelectFriendRechargeTaskTabIndex = index if index == 0 then self.state_Empty:SetState(self.rechargeBaseInfo.isUnlock and 0 or 1) if self.rechargeBaseInfo.isUnlock then if CTL.OACommon.IsHasTaskRedPoint(self.activityId) then self.state_Bottom:SetState(0) else self.state_Bottom:SetState(2) end else self.state_Bottom:SetState(2) end if self.isTeam then taskList = MDL.OACommon.GetStateSortedTaskList(self.activityId, MDL.FriendRecharge.TaskType.Team) else taskList = MDL.OACommon.GetStateSortedTaskList(self.activityId, MDL.FriendRecharge.TaskType.Solo) end if self.rechargeBaseInfo.isUnlock then self.loop_Tasks:ReloadAll(taskList) self.loop_Tasks:MoveIndex(0) end elseif index == 1 then self.state_Empty:SetState(0) if CTL.OACommon.IsHasTaskRedPoint(self.activityId) then self.state_Bottom:SetState(0) else self.state_Bottom:SetState(2) end taskList = MDL.OACommon.GetStateSortedTaskList(self.activityId, MDL.FriendRecharge.TaskType.Common) self.loop_Tasks:ReloadAll(taskList) self.loop_Tasks:MoveIndex(0) end end function UIFriendRechargeTask:OnFocusChanged(value) if value and self.isInit then MDL.OACommon.OATaskInfoReq(self.activityId) else self.isInit = true end end return UIFriendRechargeTask