516 lines
25 KiB
Lua
516 lines
25 KiB
Lua
require("Base/BasePanel")
|
||
JourneyWithWindPanel = Inherit(BasePanel)
|
||
local this = JourneyWithWindPanel
|
||
local JourneyWithWind = ConfigManager.GetConfig(ConfigName.JourneyWithWind)
|
||
local mainlevleConfig = ConfigManager.GetConfig(ConfigName.MainLevelConfig)
|
||
this.timer = Timer.New()
|
||
local sorting = 0
|
||
local itemList = {}--item list 重复利用 和 修改层级时会用到
|
||
local curDayIndex = 0--当前天数索引
|
||
local curBtnConFigData = {}--当前daybtn ActivityRewardConfig数据
|
||
local allBtnsConFigData = {}--上方所有daybtn ActivityRewardConfig数据
|
||
local curDayAllTaskGos = {}--当前天所有任务go
|
||
local activityData
|
||
local isGetState
|
||
local curRewardTaskData--奖励后端数据
|
||
local isOpenLock
|
||
local dayNumImage = {
|
||
[1] = "p_piaomialzhilv_paizi01",
|
||
[2] = "p_piaomialzhilv_paizi02",
|
||
[3] = "p_piaomialzhilv_paizi03",
|
||
[4] = "p_piaomialzhilv_paizi04",
|
||
[5] = "p_piaomialzhilv_paizi05",
|
||
[6] = "p_piaomialzhilv_paizi06",
|
||
[7] = "p_piaomialzhilv_paizi07",
|
||
[8] = "p_piaomialzhilv_paizi08",
|
||
[9] = "p_piaomialzhilv_paizi09",
|
||
[10] = "p_piaomialzhilv_paizi10",
|
||
[11] = "p_piaomialzhilv_paizi11",
|
||
[12] = "p_piaomialzhilv_paizi12",
|
||
[13] = "p_piaomialzhilv_paizi13",
|
||
[14] = "p_piaomialzhilv_paizi14",
|
||
[15] = "p_piaomialzhilv_paizi15",
|
||
}
|
||
-- local dayBtns = {}
|
||
--初始化组件(用于子类重写)
|
||
function JourneyWithWindPanel:InitComponent()
|
||
this.spLoader = SpriteLoader.New()
|
||
--子模块脚本
|
||
this.BtnBack = Util.GetGameObject(self.gameObject, "btnBack")
|
||
this.helpBtn = Util.GetGameObject(self.gameObject, "helpBtn")
|
||
this.helpPosition = this.helpBtn:GetComponent("RectTransform").localPosition
|
||
|
||
curDayAllTaskGos = {}
|
||
for i = 1, (5+2) do--5+2 是 任务最多显示五个 2 个 一个是活动奖励 一个是礼包
|
||
curDayAllTaskGos[i] = Util.GetGameObject(self.gameObject, "taskList/MissionPre (".. i ..")")
|
||
end
|
||
this.curDayTip = Util.GetGameObject(self.transform, "curDayTipImage/curDayTip"):GetComponent("Image")
|
||
this.selected = Util.GetGameObject(self.transform, "selected")
|
||
|
||
this.dayPre = Util.GetGameObject(self.gameObject, "dayPre")
|
||
this.dayGrid = Util.GetGameObject(self.gameObject, "rect/grid")
|
||
-- dayBtns = {}
|
||
-- for i = 1, 6 do
|
||
-- dayBtns[i] = Util.GetGameObject(self.gameObject, "rect/grid/dayPre (".. i ..")")
|
||
-- end
|
||
local v2 = Util.GetGameObject(self.gameObject, "rect"):GetComponent("RectTransform").rect
|
||
this.titleScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, Util.GetGameObject(self.gameObject, "rect").transform,
|
||
this.dayPre, nil, Vector2.New(-v2.x*2, -v2.y*2), 2, 1, Vector2.New(0,0))
|
||
this.titleScrollView.moveTween.MomentumAmount = 1
|
||
this.titleScrollView.moveTween.Strength = 1
|
||
end
|
||
|
||
--绑定事件(用于子类重写)
|
||
function JourneyWithWindPanel:BindEvent()
|
||
|
||
Util.AddClick(this.BtnBack, function()
|
||
self:ClosePanel()
|
||
end)
|
||
--帮助按钮
|
||
Util.AddClick(this.helpBtn, function()
|
||
UIManager.OpenPanel(UIName.HelpPopup,HELP_TYPE.JourneyWithWind,this.helpPosition.x,this.helpPosition.y)
|
||
end)
|
||
end
|
||
|
||
--添加事件监听(用于子类重写)
|
||
function JourneyWithWindPanel:AddListener()
|
||
Game.GlobalEvent:AddEvent(GameEvent.Activity.OnActivityOpenOrClose, this.AutoClose)
|
||
end
|
||
|
||
--移除事件监听(用于子类重写)
|
||
function JourneyWithWindPanel:RemoveListener()
|
||
Game.GlobalEvent:RemoveEvent(GameEvent.Activity.OnActivityOpenOrClose, this.AutoClose)
|
||
end
|
||
local curServerDay--1 3 5 7 10 15
|
||
-- local curServerIndex--1 2 3 4 5 6
|
||
--界面打开时调用(用于子类重写)
|
||
function JourneyWithWindPanel:OnOpen(_curDayIndex)
|
||
allBtnsConFigData = ActivityGiftManager.GetJourneyWithWindAllDayConFigData()
|
||
curServerDay = math.ceil((CalculateSecondsNowTo_N_OClock(0) + GetTimeStamp() - PlayerManager.userCreateTime)/86400)
|
||
local curDay = 1
|
||
for i = 1, #allBtnsConFigData do
|
||
if curServerDay >= allBtnsConFigData[i].Values[1][2] then
|
||
curDay = allBtnsConFigData[i].Values[1][2]
|
||
-- curServerIndex = allBtnsConFigData[i].Sort
|
||
end
|
||
end
|
||
local curDayIsNotClick,joConFig = ActivityGiftManager.JourneyWithWindRewardNoGet()
|
||
if curDayIsNotClick then
|
||
if joConFig.Values[1][2] < curDay then
|
||
curDay = joConFig.Values[1][2]
|
||
-- curServerIndex = joConFig.Sort
|
||
end
|
||
end
|
||
curDayIndex = _curDayIndex or curDay
|
||
end
|
||
|
||
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
|
||
function JourneyWithWindPanel:OnShow()
|
||
PlayerPrefs.SetInt(PlayerManager.uid.."piaomiaozhilv",1)
|
||
activityData = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.JourneyWithWind)
|
||
this.ShowDayBtnsData()
|
||
this.ShowDayData(curDayIndex)
|
||
end
|
||
|
||
function JourneyWithWindPanel:OnSortingOrderChange()
|
||
for i, v in pairs(itemList) do
|
||
for j = 1, #v do
|
||
v[j]:SetEffectLayer(self.sortingOrder)
|
||
end
|
||
end
|
||
sorting=self.sortingOrder
|
||
end
|
||
|
||
--显示上方所有天的按钮 及 当前可领取的主要奖励
|
||
function this.ShowDayBtnsData()
|
||
this.titleScrollView:SetData(allBtnsConFigData, function (index, go)
|
||
this.SingleDayBtnDataShow(go, allBtnsConFigData[index],index)
|
||
end,true,true)
|
||
this.titleScrollView:SetIndex(curDayIndex)
|
||
-- for i = 1, math.max(#dayBtns,#allBtnsConFigData) do
|
||
-- local go = dayBtns[i]
|
||
-- if not go then
|
||
-- go = newObject(this.dayPre)
|
||
-- go.transform:SetParent(this.dayGrid.transform)
|
||
-- go.transform.localScale = Vector3.one
|
||
-- go.transform.localPosition = Vector3.zero
|
||
-- dayBtns[i] = go
|
||
-- end
|
||
-- go.gameObject:SetActive(false)
|
||
-- end
|
||
-- for i = 1, #allBtnsConFigData do
|
||
-- this.SingleDayBtnDataShow(dayBtns[i],allBtnsConFigData[i],i)
|
||
-- end
|
||
end
|
||
function this.SingleDayBtnDataShow(_go,data,index)
|
||
local go = Util.GetGameObject(_go, "dayPre")
|
||
Util.GetGameObject(go, "dayBg/dayImage"):GetComponent("Image").sprite = this.spLoader:LoadSprite(dayNumImage[data.Values[1][2]])
|
||
local iconItemId = ConfigManager.GetConfigData(ConfigName.ItemConfig,data.Reward[1][1])
|
||
Util.GetGameObject(go, "icon"):GetComponent("Image").sprite = this.spLoader:LoadSprite(GetResourcePath(iconItemId.ResourceID))
|
||
local redPoint = Util.GetGameObject(go, "redPoint")
|
||
local redState = false
|
||
if curServerDay >= data.Values[1][2] then
|
||
Util.SetGray(Util.GetGameObject(go, "dayBg"),false)
|
||
else
|
||
Util.SetGray(Util.GetGameObject(go, "dayBg"),true)
|
||
end
|
||
--上方按钮一个高一个低
|
||
if index%2 == 0 then
|
||
go.transform.anchoredPosition = Vector3.New(3.05,23,0)
|
||
else
|
||
go.transform.anchoredPosition = Vector3.New(3.05,176.09,0)
|
||
end
|
||
if data.Values[1][2] == curDayIndex then--初始化按钮选中状态
|
||
this.selected.transform:SetParent(Util.GetGameObject(go, "selectedParent").transform)
|
||
this.selected.transform.anchoredPosition = Vector3.New(4.3,9.4,0)
|
||
ActivityGiftManager.SetJourneyWithWindPlayerPrefs(curDayIndex,1)
|
||
end
|
||
if activityData and curServerDay >= data.Values[1][2] then
|
||
for j = 1, #activityData.mission do
|
||
if activityData.mission[j].missionId == data.Id then
|
||
redState = ActivityGiftManager.SingleJourneyWithWindRewardNoGet(activityData.mission[j])
|
||
end
|
||
end
|
||
end
|
||
if not redState and curServerDay >= data.Values[1][2] then
|
||
redState = tonumber(ActivityGiftManager.GetJourneyWithWindPlayerPrefs(data.Values[1][2])) == 0
|
||
end
|
||
redPoint:SetActive(redState)
|
||
Util.AddOnceClick(go, function()
|
||
this.ShowDayData(data.Values[1][2])--点击按钮刷新界面
|
||
this.selected.transform:SetParent(Util.GetGameObject(go, "selectedParent").transform)
|
||
this.selected.transform.anchoredPosition = Vector3.New(4.3,9.4,0)
|
||
end)
|
||
end
|
||
|
||
--当前天的具体任务显示
|
||
function this.ShowDayData(_curDayIndex)
|
||
curDayIndex = _curDayIndex
|
||
ActivityGiftManager.SetJourneyWithWindPlayerPrefs(curDayIndex,1)
|
||
this.curDayTip.sprite = this.spLoader:LoadSprite(dayNumImage[curDayIndex])
|
||
for i = 1, #allBtnsConFigData do
|
||
if curDayIndex == allBtnsConFigData[i].Values[1][2] then
|
||
curBtnConFigData = allBtnsConFigData[i]
|
||
end
|
||
end
|
||
--组当前所有任务的表数据
|
||
local curDayAllTaskConFigData = {}
|
||
for key, configInfo in ConfigPairs(JourneyWithWind) do
|
||
if activityData.activityId == configInfo.ActivityId and configInfo.DayNum == curDayIndex then
|
||
table.insert(curDayAllTaskConFigData,configInfo)
|
||
end
|
||
end
|
||
--组当前所有任务的后端数据
|
||
local AllTaskData = TaskManager.GetTypeTaskList(TaskTypeDef.JourneyWithWind)
|
||
for i = 1, #curDayAllTaskGos-2 do--curDayAllTaskGos-2 是因为上方任务至多只有五个 其余两个 一个是活动奖励 一个是礼包
|
||
if curDayAllTaskConFigData[i] then
|
||
curDayAllTaskGos[i]:SetActive(true)
|
||
Util.GetGameObject(curDayAllTaskGos[i], "pre1"):SetActive(true)
|
||
Util.GetGameObject(curDayAllTaskGos[i], "pre2"):SetActive(false)
|
||
Util.GetGameObject(curDayAllTaskGos[i], "pre1/name"):GetComponent("Text").text = "目标"
|
||
Util.GetGameObject(curDayAllTaskGos[i], "pre1/condition"):GetComponent("Text").text = curDayAllTaskConFigData[i].Show
|
||
local btnJump = Util.GetGameObject(curDayAllTaskGos[i], "pre1/btnJump")
|
||
local btnFinish = Util.GetGameObject(curDayAllTaskGos[i], "pre1/btnFinish")
|
||
local btnJumpText = Util.GetGameObject(btnJump, "get"):GetComponent("Text")
|
||
local buyInfo = Util.GetGameObject(curDayAllTaskGos[i], "buyInfo"):GetComponent("Text")
|
||
local headName = Util.GetGameObject(curDayAllTaskGos[i], "headImage/name")
|
||
headName:GetComponent("Text").text = curDayAllTaskConFigData[i].HeadName
|
||
local size = headName:GetComponent("RectTransform").sizeDelta
|
||
if string.len(curDayAllTaskConFigData[i].HeadName) >= 15 then--每条任务的最前方标题 文字字节长度大于等于15个字节(五个字) text 要变宽否则显示不对
|
||
size.x = 130.3
|
||
headName.transform.sizeDelta = size
|
||
else
|
||
size.x = 108.3
|
||
headName.transform.sizeDelta = size
|
||
end
|
||
btnFinish:SetActive(false)
|
||
btnJump:SetActive(false)
|
||
buyInfo.text = ""
|
||
local curMissionData--获取对应天数的后端活动数据
|
||
for j = 1, #AllTaskData do
|
||
if AllTaskData[j].missionId == curDayAllTaskConFigData[i].Id then
|
||
curMissionData = AllTaskData[j]
|
||
end
|
||
end
|
||
if curMissionData then
|
||
local isOpen = false
|
||
if curDayAllTaskConFigData[i].SystemId == FUNCTION_OPEN_TYPE.EXPEDITION then--大闹天宫 特殊判断 大闹天宫有 休息期 但不能显示关闭
|
||
if ActTimeCtrlManager.SingleFuncState(curDayAllTaskConFigData[i].SystemId) then
|
||
isOpen = true
|
||
else
|
||
if ActTimeCtrlManager.IsQualifiled(FUNCTION_OPEN_TYPE.EXPEDITION) then
|
||
isOpen = true
|
||
else
|
||
isOpen = false
|
||
end
|
||
end
|
||
else
|
||
isOpen = (curDayAllTaskConFigData[i].SystemId and curDayAllTaskConFigData[i].SystemId > 0 and ActTimeCtrlManager.SingleFuncState(curDayAllTaskConFigData[i].SystemId))
|
||
end
|
||
local progress = curMissionData.progress--任务进度
|
||
local state = curMissionData.state--任务状态 0:未完成 1:完成未领取 2:已达成(已领取)
|
||
isOpenLock = curServerDay >= curDayIndex
|
||
Util.SetGray(btnJump,false)
|
||
if isOpenLock then--到天数
|
||
btnJump.transform.anchoredPosition = Vector3.New(262.41,44.5,0)
|
||
Util.SetGray(btnJump,false)
|
||
btnJumpText.text = "前往"
|
||
btnJump:GetComponent("Button").enabled = true
|
||
if isOpen then--功能是否开启
|
||
if state == 1 or state == 2 then--是否已达成
|
||
btnFinish:SetActive(true)
|
||
elseif state == 0 then
|
||
btnJump:SetActive(true)
|
||
btnJump:GetComponent("Button").enabled = true
|
||
buyInfo.text = string.format("%s/%s",progress,curDayAllTaskConFigData[i].TaskValue[2][1])
|
||
Util.AddOnceClick(btnJump, function()
|
||
if curDayAllTaskConFigData[i].SystemId == FUNCTION_OPEN_TYPE.EXPEDITION then--大闹天宫点击前往做特殊判断 也许是之前的跳转接口写的不合理 之后优化
|
||
if ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.EXPEDITION) then
|
||
if #ExpeditionManager.nodeInfo <= 0 then
|
||
if ExpeditionManager.expeditionLeve == -1 then
|
||
NetManager.GetExpeditionRequest(2,function()
|
||
JumpManager.GoJump(curDayAllTaskConFigData[i].Jump[1])
|
||
end)
|
||
else
|
||
NetManager.GetExpeditionRequest(
|
||
ExpeditionManager.expeditionLeve,function()
|
||
JumpManager.GoJump(curDayAllTaskConFigData[i].Jump[1])
|
||
end)
|
||
end
|
||
else
|
||
JumpManager.GoJump(curDayAllTaskConFigData[i].Jump[1])
|
||
end
|
||
NetManager.TreasureOfHeavenScoreRequest()
|
||
PlayerPrefs.SetInt(PlayerManager.uid.."ExpeditionRed",ActTimeCtrlManager.GetSerDataByTypeId(FUNCTION_OPEN_TYPE.EXPEDITION).endTime)
|
||
CheckRedPointStatus(RedPointType.OrdinaryExplore)
|
||
else
|
||
if ActTimeCtrlManager.IsQualifiled(FUNCTION_OPEN_TYPE.EXPEDITION) then
|
||
PopupTipPanel.ShowTip(Language[12183])
|
||
else
|
||
PopupTipPanel.ShowTip(ActTimeCtrlManager.GetFuncTip(FUNCTION_OPEN_TYPE.EXPEDITION))
|
||
end
|
||
end
|
||
else
|
||
JumpManager.GoJump(curDayAllTaskConFigData[i].Jump[1])
|
||
end
|
||
|
||
end)
|
||
end
|
||
else
|
||
btnJump:SetActive(true)
|
||
Util.SetGray(btnJump,true)
|
||
btnJump:GetComponent("Button").enabled = false
|
||
if curDayAllTaskConFigData[i].TaskType ~= 14 then--除了战力 其他任务当对应功能不开启是要显示开启条件
|
||
buyInfo.text = string.format(Language[11903],ConfigManager.GetConfigData(ConfigName.GlobalSystemConfig,curDayAllTaskConFigData[i].SystemId).OpenRules[2])
|
||
end
|
||
end
|
||
else--未到天数
|
||
btnJump.transform.anchoredPosition = Vector3.New(262.41,27.2,0)
|
||
btnJump:SetActive(true)
|
||
Util.SetGray(btnJump,true)
|
||
btnJumpText.text = "未开启"
|
||
btnJump:GetComponent("Button").enabled = false
|
||
end
|
||
end
|
||
else
|
||
curDayAllTaskGos[i]:SetActive(false)
|
||
end
|
||
end
|
||
this.ShowDayDataActivityReward()--位置1 不变 因为该方法会对界面上的一些数据赋值
|
||
this.ShowDayDataGiftBag()--位置2 不变
|
||
CheckRedPointStatus(RedPointType.JourneyWithWind)
|
||
end
|
||
|
||
--奖励任务
|
||
function this.ShowDayDataActivityReward()
|
||
local go = curDayAllTaskGos[6]
|
||
if go and curBtnConFigData and activityData then
|
||
Util.GetGameObject(go, "pre1"):SetActive(false)
|
||
Util.GetGameObject(go, "pre2"):SetActive(true)
|
||
for i = 1, #activityData.mission do
|
||
if activityData.mission[i].missionId == curBtnConFigData.Id then
|
||
curRewardTaskData = activityData.mission[i]
|
||
end
|
||
end
|
||
if curRewardTaskData then
|
||
if not itemList[go.name] then
|
||
itemList[go.name] = {}
|
||
end
|
||
for i = 1, #itemList[go.name] do
|
||
itemList[go.name][i].gameObject:SetActive(false)
|
||
end
|
||
for i = 1, #curBtnConFigData.Reward do
|
||
if itemList[go.name][i] then
|
||
itemList[go.name][i]:OnOpen(false, curBtnConFigData.Reward[i], 0.9,false,false,false,sorting)
|
||
else
|
||
itemList[go.name][i] = SubUIManager.Open(SubUIConfig.ItemView, Util.GetGameObject(go, "pre2/itemContent").transform)
|
||
itemList[go.name][i]:OnOpen(false, curBtnConFigData.Reward[i], 0.9,false,false,false,sorting)
|
||
end
|
||
itemList[go.name][i].gameObject:SetActive(true)
|
||
end
|
||
local getBtn = Util.GetGameObject(go, "pre2/getBtn")
|
||
local btnText = Util.GetGameObject(getBtn, "get"):GetComponent("Text")
|
||
local redPoint = Util.GetGameObject(getBtn, "redPoint")
|
||
isGetState = ActivityGiftManager.SingleJourneyWithWindRewardNoGet(curRewardTaskData)
|
||
isOpenLock = curServerDay >= curDayIndex
|
||
local imageStr = isGetState and "s_slbz_1anniuongse" or "s_slbz_1anniuhuise"
|
||
getBtn:GetComponent("Image").sprite = this.spLoader:LoadSprite(imageStr)
|
||
redPoint:SetActive(isGetState)
|
||
local headName = Util.GetGameObject(go, "headImage/name")
|
||
headName:GetComponent("Text").text = "奖励"
|
||
local size = headName:GetComponent("RectTransform").sizeDelta
|
||
size.x = 108.3
|
||
headName.transform.sizeDelta = size
|
||
btnText.text = "领取"
|
||
if isOpenLock then
|
||
Util.SetGray(getBtn,false)
|
||
getBtn:GetComponent("Button").enabled = true
|
||
if curRewardTaskData.state == 1 then
|
||
btnText.text = "已领取"
|
||
getBtn:GetComponent("Button").enabled = false
|
||
Util.SetGray(getBtn,true)
|
||
else
|
||
Util.AddOnceClick(getBtn, function()
|
||
if isGetState then
|
||
if MonthCardManager.GetMonthCardIsOpen(MONTH_CARD_TYPE.LUXURYMONTHCARD) and MonthCardManager.GetMonthCardIsOpen(MONTH_CARD_TYPE.GIFT) then
|
||
NetManager.GetActivityRewardRequest(curRewardTaskData.missionId, activityData.activityId, function(drop)
|
||
UIManager.OpenPanel(UIName.RewardItemPopup,drop,1,function()
|
||
btnText.text = "已领取"
|
||
getBtn:GetComponent("Button").enabled = false
|
||
Util.SetGray(getBtn,true)
|
||
redPoint:SetActive(false)
|
||
CheckRedPointStatus(RedPointType.JourneyWithWind)
|
||
this.ShowDayBtnsData()
|
||
end)
|
||
end)
|
||
else
|
||
MsgPanel.ShowTwo("当前仍有未激活的月卡,是否前往查看激活?", function()
|
||
end, function()
|
||
JumpManager.GoJump(36004)
|
||
end, Language[10731], Language[10019],nil, false)
|
||
end
|
||
else
|
||
if curRewardTaskData.state == 0 then
|
||
if curRewardTaskData.progress>=4 then
|
||
MsgPanel.ShowTwo("当前仍有未激活的月卡,是否前往查看激活?", function()
|
||
end, function()
|
||
JumpManager.GoJump(36004)
|
||
end, Language[10731], Language[10019],nil, false)
|
||
else
|
||
PopupTipPanel.ShowTip("完成当日所有目标才可领取!")
|
||
end
|
||
end
|
||
end
|
||
end)
|
||
end
|
||
else
|
||
Util.SetGray(getBtn,true)
|
||
btnText.text = "未开启"
|
||
getBtn:GetComponent("Button").enabled = false
|
||
end
|
||
end
|
||
end
|
||
end
|
||
-- 礼包
|
||
function this.ShowDayDataGiftBag()
|
||
local go = curDayAllTaskGos[7]
|
||
local rechargecommodityData = ConfigManager.GetConfigData(ConfigName.RechargeCommodityConfig,curBtnConFigData.Values[2][1])
|
||
if go and rechargecommodityData then
|
||
Util.GetGameObject(go, "pre1"):SetActive(false)
|
||
Util.GetGameObject(go, "pre2"):SetActive(true)
|
||
if not itemList[go.name] then
|
||
itemList[go.name] = {}
|
||
end
|
||
for i = 1, #itemList[go.name] do
|
||
itemList[go.name][i].gameObject:SetActive(false)
|
||
end
|
||
for i = 1, #rechargecommodityData.RewardShow do
|
||
if itemList[go.name][i] then
|
||
itemList[go.name][i]:OnOpen(false, rechargecommodityData.RewardShow[i], 0.9,false,false,false,sorting)
|
||
else
|
||
itemList[go.name][i] = SubUIManager.Open(SubUIConfig.ItemView, Util.GetGameObject(go, "pre2/itemContent").transform)
|
||
itemList[go.name][i]:OnOpen(false, rechargecommodityData.RewardShow[i], 0.9,false,false,false,sorting)
|
||
end
|
||
itemList[go.name][i].gameObject:SetActive(true)
|
||
end
|
||
local rechargeData = OperatingManager.GetGiftGoodsInfo(GoodsTypeDef.DirectPurchaseGift, rechargecommodityData.Id)
|
||
local getBtn = Util.GetGameObject(go, "pre2/getBtn")
|
||
local btnText = Util.GetGameObject(getBtn, "get"):GetComponent("Text")
|
||
local btnFinish = Util.GetGameObject(go, "pre2/btnFinish")
|
||
btnFinish:SetActive(false)
|
||
local headName = Util.GetGameObject(go, "headImage/name")
|
||
headName:GetComponent("Text").text = "免费礼包"
|
||
local size = headName:GetComponent("RectTransform").sizeDelta
|
||
size.x = 108.3
|
||
headName.transform.sizeDelta = size
|
||
local isCurGetState = false
|
||
if curRewardTaskData then
|
||
local dayNumConFig = ConfigManager.GetConfigData(ConfigName.ActivityRewardConfig,curRewardTaskData.missionId)
|
||
local list = ActivityGiftManager.GetJourneyWithWindDayAmount()
|
||
if dayNumConFig and curRewardTaskData.progress >= list[dayNumConFig.Values[1][2]] then
|
||
isCurGetState = true
|
||
end
|
||
end
|
||
local freetimes = rechargeData.dynamicBuyTimes - rechargeData.buyTimes
|
||
local imageStr = (freetimes > 0 and isCurGetState) and "s_slbz_1anniuongse" or "s_slbz_1anniuhuise"
|
||
getBtn:GetComponent("Image").sprite = this.spLoader:LoadSprite(imageStr)
|
||
btnText.text = string.format(Language[10383],rechargecommodityData.Price)
|
||
if isOpenLock then--是否到天数
|
||
Util.SetGray(getBtn,false)
|
||
getBtn:GetComponent("Button").enabled = true
|
||
if freetimes > 0 and isCurGetState then
|
||
btnText.text = string.format(Language[10383],rechargecommodityData.Price)
|
||
elseif freetimes <= 0 then
|
||
btnText.text = "已购买"
|
||
getBtn:GetComponent("Button").enabled = false
|
||
Util.SetGray(getBtn,true)
|
||
end
|
||
Util.AddOnceClick(getBtn, function()
|
||
if freetimes > 0 and isCurGetState then
|
||
PayManager.Pay(rechargecommodityData.Id, function(id)
|
||
FirstRechargeManager.RefreshAccumRechargeValue(rechargecommodityData.Id)
|
||
btnText.text = "已购买"
|
||
getBtn:GetComponent("Button").enabled = false
|
||
Util.SetGray(getBtn,true)
|
||
end)
|
||
else
|
||
PopupTipPanel.ShowTip("完成当日所有目标才可购买!")
|
||
end
|
||
end)
|
||
else
|
||
Util.SetGray(getBtn,true)
|
||
btnText.text = "未开启"
|
||
getBtn:GetComponent("Button").enabled = false
|
||
end
|
||
end
|
||
end
|
||
--活动到期自动关闭
|
||
function this.AutoClose(data)
|
||
if data.type == ActivityTypeDef.JourneyWithWind and data.status == 0 then
|
||
if this.timer then
|
||
this.timer:Stop()
|
||
this.timer = nil
|
||
end
|
||
this:ClosePanel()
|
||
end
|
||
end
|
||
|
||
--界面关闭时调用(用于子类重写)
|
||
function JourneyWithWindPanel:OnClose()
|
||
if this.timer then
|
||
this.timer:Stop()
|
||
this.timer = nil
|
||
end
|
||
end
|
||
|
||
--界面销毁时调用(用于子类重写)
|
||
function JourneyWithWindPanel:OnDestroy()
|
||
this.spLoader:Destroy()
|
||
if this.timer then
|
||
this.timer:Stop()
|
||
this.timer = nil
|
||
end
|
||
itemList = {}
|
||
end
|
||
|
||
return JourneyWithWindPanel |