miduo_client/Assets/ManagedResources/~Lua/Modules/ActivityGift/CourtesyDressPanel.lua

580 lines
27 KiB
Lua

require("Base/BasePanel")
CourtesyDressPanel = Inherit(BasePanel)
local this = CourtesyDressPanel
local chapterList = { Language[10001], Language[10002], Language[10003], Language[10004], Language[10005], Language[10006], Language[10007], Language[10008], Language[10009], Language[10010], Language[10011], Language[10012], Language[10013], Language[10014], Language[10015] }
local selectIndex = 0
local jumpNeedBtn = 0
--初始化组件(用于子类重写)
function CourtesyDressPanel:InitComponent()
this.spLoader = SpriteLoader.New()
this.btnBack = Util.GetGameObject(self.gameObject, "btnBack")
this.remaindTimeText = Util.GetGameObject(self.gameObject, "downLayout/expertRewardGrid/remaindTimeText"):GetComponent("Text")
this.item = Util.GetGameObject(self.gameObject, "item")
this.onlineBtn = Util.GetGameObject(self.gameObject, "tabsContent/tabs_1")
this.sevenDayBtn = Util.GetGameObject(self.gameObject, "tabsContent/tabs_2")
this.chapterRewardBtn = Util.GetGameObject(self.gameObject, "tabsContent/tabs_3")
this.selected1 = Util.GetGameObject(self.gameObject, "tabsContent/tabs_1/selected")
this.selected2 = Util.GetGameObject(self.gameObject, "tabsContent/tabs_2/selected")
this.selected3 = Util.GetGameObject(self.gameObject, "tabsContent/tabs_3/selected")
this.viewRect = Util.GetGameObject(self.gameObject, "rect")
this.titleBg = Util.GetGameObject(self.gameObject, "titleBg"):GetComponent("Image")
this.onlineRedPoint = Util.GetGameObject(self.gameObject, "tabsContent/tabs_1/redPoint")
this.sevenDayPoint = Util.GetGameObject(self.gameObject, "tabsContent/tabs_2/redPoint")
this.chapterPoint = Util.GetGameObject(self.gameObject, "tabsContent/tabs_3/redPoint")
this.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, this.viewRect.transform,
this.item, nil, Vector2.New(940.6, 1220), 1, 1, Vector2.New(0, 0))
this.ScrollView.gameObject:GetComponent("RectTransform").anchoredPosition = Vector2.New(-8, 0)
this.ScrollView.gameObject:GetComponent("RectTransform").anchorMin = Vector2.New(0.5, 0.5)
this.ScrollView.gameObject:GetComponent("RectTransform").anchorMax = Vector2.New(0.5, 0.5)
this.ScrollView.gameObject:GetComponent("RectTransform").pivot = Vector2.New(0.5, 0.5)
this.ScrollView.moveTween.MomentumAmount = 1
this.ScrollView.moveTween.Strength = 2
this.viewCache = {}
this.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform, { showType = UpViewOpenType.ShowLeft })
end
function CourtesyDressPanel:OnOpen(...)
local data = { ... }
this.ActivityId = data[1]
this.hideBtns=data[2]
this.onlineBtn:SetActive(true)
this.sevenDayBtn:SetActive(true)
this.chapterRewardBtn:SetActive(true)
if(this.hideBtns) then
this.onlineBtn:SetActive(false)
this.sevenDayBtn:SetActive(false)
this.chapterRewardBtn:SetActive(false)
end
end
function CourtesyDressPanel:OnShow()
this:IsGetRewardAll(ActivityGiftManager.sevenDayGetRewardState, ActivityTypeDef.EightDayGift, false)
this:IsGetRewardAll(ActivityGiftManager.onlineGetRewardState, ActivityTypeDef.OnlineGift, false)
this:IsGetRewardAll(ActivityGiftManager.chapterGetRewardState, ActivityTypeDef.ChapterAward, false)
this.SetDataSort()
if (this.ActivityId == nil) then
this:OpenActivityPage()
else
this:JumpOpenActivity()
end
this.ScrollView:SetIndex(1)
this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.RoleInfo})
end
function CourtesyDressPanel:OnSortingOrderChange()
if this.viewCache then
for i, v in pairs(this.viewCache) do
--for i = 1, #this.viewCache do
for j = 1, #v.views do
v.views[j]:SetEffectLayer(self.sortingOrder)
end
end
end
end
--跳转打开页面
function CourtesyDressPanel:JumpOpenActivity()
if (this.ActivityId == ActivityTypeDef.EightDayGift) then
local getRewardState = ActivityGiftManager.sevenDayGetRewardState
local canRewardIndex = ActivityGiftManager.canRewardDay
local activityType = ActivityTypeDef.EightDayGift
local data = ActivityGiftManager.sevenDayData
this:OnShowActivityData(data, activityType, getRewardState, canRewardIndex)
selectIndex = ActivityTypeDef.EightDayGift
self.selected1:SetActive(false)
self.selected2:SetActive(true)
self.selected3:SetActive(false)
elseif (this.ActivityId == ActivityTypeDef.OnlineGift) then
local getRewardState = ActivityGiftManager.onlineGetRewardState
local canRewardIndex = ActivityGiftManager.currentTimeIndex
local activityType = ActivityTypeDef.OnlineGift
local data = ActivityGiftManager.onlineData
this:OnShowActivityData(data, activityType, getRewardState, canRewardIndex)
selectIndex = ActivityTypeDef.OnlineGift
self.selected1:SetActive(true)
self.selected2:SetActive(false)
self.selected3:SetActive(false)
elseif (this.ActivityId == ActivityTypeDef.ChapterAward) then
local getRewardState = ActivityGiftManager.chapterGetRewardState
local activityType = ActivityTypeDef.ChapterAward
local data = ActivityGiftManager.chapterGiftData
this:OnShowActivityData(data, activityType, getRewardState, nil)
selectIndex = ActivityTypeDef.ChapterAward
self.selected1:SetActive(false)
self.selected2:SetActive(false)
self.selected3:SetActive(true)
end
end
--主城打开页面
function CourtesyDressPanel:OpenActivityPage()
if(ActivityGiftManager.CheckOnlineRed() or ActivityGiftManager.CheckSevenDayRed() or ActivityGiftManager.CheckChapterRed()) then
if (ActivityGiftManager.onlineOpen and ActivityGiftManager.CheckOnlineRed()) then
local getRewardState = ActivityGiftManager.onlineGetRewardState
local canRewardIndex = ActivityGiftManager.currentTimeIndex
local activityType = ActivityTypeDef.OnlineGift
local data = ActivityGiftManager.onlineData
this:OnShowActivityData(data, activityType, getRewardState, canRewardIndex)
selectIndex = ActivityTypeDef.OnlineGift
self.selected1:SetActive(true)
self.selected2:SetActive(false)
self.selected3:SetActive(false)
elseif (ActivityGiftManager.sevenDayOpen and ActivityGiftManager.CheckSevenDayRed()) then
local getRewardState = ActivityGiftManager.sevenDayGetRewardState
local canRewardIndex = ActivityGiftManager.canRewardDay
local activityType = ActivityTypeDef.EightDayGift
local data = ActivityGiftManager.sevenDayData
this:OnShowActivityData(data, activityType, getRewardState, canRewardIndex)
selectIndex = ActivityTypeDef.EightDayGift
self.selected1:SetActive(false)
self.selected2:SetActive(true)
self.selected3:SetActive(false)
elseif (ActivityGiftManager.chapterOpen and ActivityGiftManager.CheckChapterRed()) then
local getRewardState = ActivityGiftManager.chapterGetRewardState
local activityType = ActivityTypeDef.ChapterAward
local data = ActivityGiftManager.chapterGiftData
this:OnShowActivityData(data, activityType, getRewardState, nil)
selectIndex = ActivityTypeDef.ChapterAward
self.selected1:SetActive(false)
self.selected2:SetActive(false)
self.selected3:SetActive(true)
end
else
if (ActivityGiftManager.onlineOpen) then
local getRewardState = ActivityGiftManager.onlineGetRewardState
local canRewardIndex = ActivityGiftManager.currentTimeIndex
local activityType = ActivityTypeDef.OnlineGift
local data = ActivityGiftManager.onlineData
this:OnShowActivityData(data, activityType, getRewardState, canRewardIndex)
selectIndex = ActivityTypeDef.OnlineGift
self.selected1:SetActive(true)
self.selected2:SetActive(false)
self.selected3:SetActive(false)
elseif (ActivityGiftManager.sevenDayOpen) then
local getRewardState = ActivityGiftManager.sevenDayGetRewardState
local canRewardIndex = ActivityGiftManager.canRewardDay
local activityType = ActivityTypeDef.EightDayGift
local data = ActivityGiftManager.sevenDayData
this:OnShowActivityData(data, activityType, getRewardState, canRewardIndex)
selectIndex = ActivityTypeDef.EightDayGift
self.selected1:SetActive(false)
self.selected2:SetActive(true)
self.selected3:SetActive(false)
elseif (ActivityGiftManager.chapterOpen) then
local getRewardState = ActivityGiftManager.chapterGetRewardState
local activityType = ActivityTypeDef.ChapterAward
local data = ActivityGiftManager.chapterGiftData
this:OnShowActivityData(data, activityType, getRewardState, nil)
selectIndex = ActivityTypeDef.ChapterAward
self.selected1:SetActive(false)
self.selected2:SetActive(false)
self.selected3:SetActive(true)
end
end
end
--展示活动数据
function CourtesyDressPanel:OnShowActivityData(activityData, activityType, getRewardState, isCanReward,isNotTop,isNotAni)
if (activityType == ActivityTypeDef.EightDayGift) then
this.titleBg.sprite = this.spLoader:LoadSprite("r_huodong_qitian_zh")
elseif (activityType == ActivityTypeDef.OnlineGift) then
this.titleBg.sprite = this.spLoader:LoadSprite("r_huodong_zaixian_zh")
elseif (activityType == ActivityTypeDef.ChapterAward) then
this.titleBg.sprite = this.spLoader:LoadSprite("r_huodong_tongguan_zh")
end
this.ScrollView:SetData(activityData, function(index, item)
local shows = activityData[index].Reward
if this.viewCache[item] then
local viewCacheNum
local viewCacheItem = { views = {} }
viewCacheNum = table.nums(this.viewCache[item].views)
if (viewCacheNum < #shows) then
for i = 1, viewCacheNum do
this.viewCache[item].views[i].gameObject:SetActive(true)
this.viewCache[item].views[i]:OnOpen(false, { shows[i][1], shows[i][2] }, 0.97,false,false,false,self.sortingOrder)
viewCacheItem.views[i] = this.viewCache[item].views[i]
end
for i = viewCacheNum + 1, #shows do
--his.viewCache[item].views[i].gameObject:SetActive(true)
local view = SubUIManager.Open(SubUIConfig.ItemView, Util.GetTransform(item, "content").transform)
view:OnOpen(false, { shows[i][1], shows[i][2] }, 0.97,false,false,false,self.sortingOrder)
viewCacheItem.views[i] = view
end
this.viewCache[item] = viewCacheItem
else
for i = 1, #shows do
this.viewCache[item].views[i].gameObject:SetActive(true)
this.viewCache[item].views[i]:OnOpen(false, { shows[i][1], shows[i][2] }, 0.97,false,false,false,self.sortingOrder)
end
for i = #shows + 1, viewCacheNum do
this.viewCache[item].views[i].gameObject:SetActive(false)
end
end
this:ScrollActivityDataShow(item, index, activityData[index], activityType, getRewardState, isCanReward)
else
local viewCacheItem = { views = {} }
for i = 1, #shows do
local view = SubUIManager.Open(SubUIConfig.ItemView, Util.GetTransform(item, "content").transform)
view:OnOpen(false, { shows[i][1], shows[i][2] }, 0.97,false,false,false,self.sortingOrder)
viewCacheItem.views[i] = view
end
this.viewCache[item] = viewCacheItem
this:ScrollActivityDataShow(item, index, activityData[index], activityType, getRewardState, isCanReward)
end
--this:ScrollActivityDataShow(item, index, activityData[index], activityType, getRewardState, isCanReward)
end,isNotTop,isNotAni)
if (activityType == ActivityTypeDef.OnlineGift) then--写在这的原因是先实例化完毕之后再在线奖励再计时显示
self:RemainTimeDown()
end
end
--循环滚动活动数据
function CourtesyDressPanel:ScrollActivityDataShow(item, index, data, activityType, getRewardState, isCanReward)
--Util.ClearChild(Util.GetTransform(item, "content").transform)
--for i, v in ipairs(data.Reward) do
-- local view = SubUIManager.Open(SubUIConfig.ItemView, Util.GetTransform(item, "content").transform)
-- view:OnOpen(false, { v[1], v[2] }, 0.97)
--end
local getRewardProgressValue = 0
for i, v in pairs(getRewardState) do
if (v == 1) then
getRewardProgressValue = getRewardProgressValue + 1
end
end
local titleText = Util.GetGameObject(item, "titleImage/titleText"):GetComponent("Text")
local nextOpenBtn = Util.GetGameObject(item, "nextDayOpenBtn")
local nextOpenBtnText = Util.GetGameObject(item, "nextDayOpenBtn/Text"):GetComponent("Text")
local getRewardBtn = Util.GetGameObject(item, "getRewardBtn")
local getFinishText = Util.GetGameObject(item, "getFinishText")
local getRewardProgress = Util.GetGameObject(item, "getRewardProgress"):SetActive(false)
--local redPoint = Util.GetGameObject(item, "getRewardBtn/redPoint")
if (activityType == ActivityTypeDef.EightDayGift) then
titleText.text = Language[10016] .. data.Sort .. Language[10017]
nextOpenBtn:GetComponent("Image").sprite = this.spLoader:LoadSprite("s_slbz_1anniuhuise")
nextOpenBtnText.text = Language[10018]
this.remaindTimeText.text = ""
elseif (activityType == ActivityTypeDef.OnlineGift) then
local onlineData = ActivityGiftManager.onlineData
for i, v in ipairs(onlineData) do
if v.Sort==data.Sort then
titleText.text = GetLanguageStrById(tostring(v.ContentsShow))
end
end
--titleText.text = "累计在线" ..data.Values[1][1] .. "分钟"
nextOpenBtn:GetComponent("Image").sprite = this.spLoader:LoadSprite("s_slbz_1anniuhuise")
nextOpenBtnText.text = Language[10018]
elseif (activityType == ActivityTypeDef.ChapterAward) then
titleText.text = GetLanguageStrById(data.ContentsShow)
nextOpenBtn:GetComponent("Image").sprite = this.spLoader:LoadSprite("s_slbz_1anniuhuangse")
nextOpenBtnText.text = Language[10019]
this.remaindTimeText.text = ""
end
if (activityType ~= ActivityTypeDef.ChapterAward) then
--Log("data.Sort >= isCanReward "..data.Sort .." ".. isCanReward.." "..getRewardState[data.Id])
if (data.Sort >= isCanReward) then
getRewardBtn:SetActive(false)
getFinishText:SetActive(false)
nextOpenBtn:SetActive(true)
-- getRewardProgress.text = "(0/1)"
end
if (data.Sort <= isCanReward and getRewardState[data.Id] == 0) then
getRewardBtn:SetActive(true)
getFinishText:SetActive(false)
nextOpenBtn:SetActive(false)
--redPoint:SetActive(true)
-- getRewardProgress.text = "(1/1)"
if (index == 1) then
jumpNeedBtn = getRewardBtn
end
end
if getRewardState[data.Id] == 1 then--data.Sort <= isCanReward and
getRewardBtn:SetActive(false)
getFinishText:SetActive(true)
nextOpenBtn:SetActive(false)
Util.SetGray(getFinishText,true)
-- getRewardProgress.text = "(1/1)"
end
else
local isPass = FightPointPassManager.GetFightStateById(data.Values[1][1]) == FIGHT_POINT_STATE.PASS
if isPass and getRewardState[data.Id] == 0 then
getRewardBtn:SetActive(true)
getFinishText:SetActive(false)
nextOpenBtn:SetActive(false)
-- getRewardProgress.text = "(1/1)"
if (index == 1) then
jumpNeedBtn = getRewardBtn
end
elseif isPass and getRewardState[data.Id] == 1 then
getRewardBtn:SetActive(false)
getFinishText:SetActive(true)
Util.SetGray(getFinishText,true)
nextOpenBtn:SetActive(false)
-- getRewardProgress.text = "(1/1)"
else
getRewardBtn:SetActive(false)
getFinishText:SetActive(false)
nextOpenBtn:SetActive(true)
-- getRewardProgress.text = "(0/1)"
end
end
Util.AddOnceClick(getRewardBtn, function()
if (activityType == ActivityTypeDef.EightDayGift) then
ActivityGiftManager.GetActivityRewardRequest(ActivityTypeDef.EightDayGift, data.Id)
elseif (activityType == ActivityTypeDef.OnlineGift) then
ActivityGiftManager.GetActivityRewardRequest(ActivityTypeDef.OnlineGift, data.Id)
elseif (activityType == ActivityTypeDef.ChapterAward) then
ActivityGiftManager.GetActivityRewardRequest(ActivityTypeDef.ChapterAward, data.Id)
end
end)
Util.AddOnceClick(nextOpenBtn, function()
if (activityType == ActivityTypeDef.ChapterAward) then
--前往跳转
JumpManager.GoJump(data.Jump[1])
end
end)
end
--绑定事件(用于子类重写)
function CourtesyDressPanel:BindEvent()
Util.AddClick(self.btnBack, function()
PlaySoundWithoutClick(SoundConfig.Sound_UICancel)
self:ClosePanel()
end)
Util.AddClick(self.onlineBtn, function()
local getRewardState = ActivityGiftManager.onlineGetRewardState
local canRewardIndex = ActivityGiftManager.currentTimeIndex
local activityType = ActivityTypeDef.OnlineGift
local data = ActivityGiftManager.onlineData
this:OnShowActivityData(data, activityType, getRewardState, canRewardIndex)
self.selected1:SetActive(true)
self.selected2:SetActive(false)
self.selected3:SetActive(false)
selectIndex = ActivityTypeDef.OnlineGift
this.ScrollView:SetIndex(1)
end)
Util.AddClick(self.sevenDayBtn, function()
local getRewardState = ActivityGiftManager.sevenDayGetRewardState
local canRewardIndex = ActivityGiftManager.canRewardDay
local activityType = ActivityTypeDef.EightDayGift
local data = ActivityGiftManager.sevenDayData
this:OnShowActivityData(data, activityType, getRewardState, canRewardIndex)
self.selected1:SetActive(false)
self.selected2:SetActive(true)
self.selected3:SetActive(false)
selectIndex = ActivityTypeDef.EightDayGift
this.ScrollView:SetIndex(1)
end)
Util.AddClick(self.chapterRewardBtn, function()
local getRewardState = ActivityGiftManager.chapterGetRewardState
local activityType = ActivityTypeDef.ChapterAward
local data = ActivityGiftManager.chapterGiftData
this:OnShowActivityData(data, activityType, getRewardState, nil)
self.selected1:SetActive(false)
self.selected2:SetActive(false)
self.selected3:SetActive(true)
selectIndex = ActivityTypeDef.ChapterAward
this.ScrollView:SetIndex(1)
end)
BindRedPointObject(RedPointType.CourtesyDress_Online, this.onlineRedPoint)
BindRedPointObject(RedPointType.CourtesyDress_SevenDay, this.sevenDayPoint)
BindRedPointObject(RedPointType.CourtesyDress_Chapter, this.chapterPoint)
end
-- 在线奖励倒计时
function CourtesyDressPanel:OnlineCountDown(remainTime, activityData,onlineTime)
--local hour = 0
--local min = 0
--local sec = 0
--sec = math.floor(remainTime % 60)
--hour = math.floor(remainTime / 3600)
--min = 0
--if (hour >= 1) then
-- min = math.floor((remainTime - hour * 3600) / 60)
--else
-- min = math.floor(remainTime / 60)
--end
if (selectIndex == ActivityTypeDef.OnlineGift) then
this.remaindTimeText.text = Language[10020] ..TimeToHMS(onlineTime) --string.format("%02d:%02d:%02d", hour, min, sec)
if (ActivityGiftManager.currentTimeIndex == #ActivityGiftManager.onlineData) then
this.remaindTimeText.text = ""
end
local getRewardState = ActivityGiftManager.onlineGetRewardState
if (remainTime == 0) then
--Log("sssssssssssssssssssssssssss sssssssssss")
this:OnShowActivityData(activityData, selectIndex, getRewardState, ActivityGiftManager.currentTimeIndex)
end
end
end
--领取奖励刷新页面数据
function CourtesyDressPanel:OnRefreshPageDataShow(activityData)
local canRewardIndex = 0
local getRewardState = 0
if (selectIndex == ActivityTypeDef.EightDayGift) then
canRewardIndex = ActivityGiftManager.canRewardDay
getRewardState = ActivityGiftManager.sevenDayGetRewardState
elseif (selectIndex == ActivityTypeDef.OnlineGift) then
canRewardIndex = ActivityGiftManager.currentTimeIndex
getRewardState = ActivityGiftManager.onlineGetRewardState
elseif (selectIndex == ActivityTypeDef.ChapterAward) then
getRewardState = ActivityGiftManager.chapterGetRewardState
end
this:OnShowActivityData(activityData, selectIndex, getRewardState, canRewardIndex,true,true)
this:IsGetRewardAll(getRewardState, selectIndex, true)
end
--判断奖励是否领取完毕
function CourtesyDressPanel:IsGetRewardAll(getRewardState, activityType, isInActivityPage)
-- Log("是否点击============")
local isGetAllReward = true
for i, v in pairs(getRewardState) do
if (v == 0) then
isGetAllReward = false
end
end
if (activityType == ActivityTypeDef.EightDayGift and isGetAllReward) then
this.sevenDayBtn:SetActive(false)
ActivityGiftManager.sevenDayOpen = false
if (isInActivityPage) then
--UIManager.OpenPanel(UIName.MainPanel)
end
elseif (activityType == ActivityTypeDef.OnlineGift and isGetAllReward) then
this.onlineBtn:SetActive(false)
ActivityGiftManager.onlineOpen = false
if (isInActivityPage) then
--UIManager.OpenPanel(UIName.MainPanel)
self:ClosePanel()
end
elseif (activityType == ActivityTypeDef.ChapterAward and isGetAllReward) then
this.chapterRewardBtn:SetActive(false)
ActivityGiftManager.chapterOpen = false
if (isInActivityPage) then
--UIManager.OpenPanel(UIName.MainPanel)
end
end
end
--刷新循环滚动数据
function this.RefreshScrollData()
this.ScrollView:SetData(activityData, function(index, item)
this:ScrollActivityDataShow(item, index, activityData[index], activityType, getRewardState, isCanReward)
end)
end
--进行数据排序
function this.SetDataSort()
table.sort(ActivityGiftManager.onlineData, function(a, b)
if ActivityGiftManager.onlineGetRewardState[a.Id] == ActivityGiftManager.onlineGetRewardState[b.Id] then
return a.Id < b.Id
else
return ActivityGiftManager.onlineGetRewardState[a.Id] < ActivityGiftManager.onlineGetRewardState[b.Id]
end
end)
table.sort(ActivityGiftManager.sevenDayData, function(a, b)
if ActivityGiftManager.sevenDayGetRewardState[a.Id] == ActivityGiftManager.sevenDayGetRewardState[b.Id] then
return a.Id < b.Id
else
return ActivityGiftManager.sevenDayGetRewardState[a.Id] < ActivityGiftManager.sevenDayGetRewardState[b.Id]
end
end)
table.sort(ActivityGiftManager.chapterGiftData, function(a, b)
if ActivityGiftManager.chapterGetRewardState[a.Id] == ActivityGiftManager.chapterGetRewardState[b.Id] then
return a.Id < b.Id
else
return ActivityGiftManager.chapterGetRewardState[a.Id] < ActivityGiftManager.chapterGetRewardState[b.Id]
end
end)
end
--提供跳转的领取按钮
function this.GetRewardBtn()
return jumpNeedBtn
end
--添加事件监听(用于子类重写)
function CourtesyDressPanel:AddListener()
--Game.GlobalEvent:AddEvent(GameEvent.Activity.OnlineState, this.OnlineCountDown, self)
Game.GlobalEvent:AddEvent(GameEvent.Activity.GetRewardRefresh, this.OnRefreshPageDataShow, self)
end
--移除事件监听(用于子类重写)
function CourtesyDressPanel:RemoveListener()
--Game.GlobalEvent:RemoveEvent(GameEvent.Activity.OnlineState, this.OnlineCountDown, self)
Game.GlobalEvent:RemoveEvent(GameEvent.Activity.GetRewardRefresh, this.OnRefreshPageDataShow, self)
end
--界面关闭时调用(用于子类重写)
function CourtesyDressPanel:OnClose()
if self.timer then
self.timer:Stop()
self.timer = nil
end
end
--界面销毁时调用(用于子类重写)
function CourtesyDressPanel:OnDestroy()
this.spLoader:Destroy()
ClearRedPointObject(RedPointType.CourtesyDress_Online)
ClearRedPointObject(RedPointType.CourtesyDress_SevenDay)
ClearRedPointObject(RedPointType.CourtesyDress_Chapter)
SubUIManager.Close(this.UpView)
this.ScrollView = nil
end
--跳转显示新手提示圈
function this.ShowGuideGo()
if jumpNeedBtn ~= 0 then
JumpManager.ShowGuide(UIName.CourtesyDressPanel, jumpNeedBtn)
end
end
--在线奖励刷新
--刷新倒计时显示
function CourtesyDressPanel:RemainTimeDown()
self:RemainTimeDownUpdata()
if ActivityGiftManager.currentTimeIndex == #ActivityGiftManager.onlineData then
this.remaindTimeText.text = ""
end
if self.timer then
self.timer:Stop()
self.timer = nil
end
self.timer = Timer.New(function()
if NetManager.IsConnect() then--是否在线状态
self:RemainTimeDownUpdata()
end
if ActivityGiftManager.currentTimeIndex == #ActivityGiftManager.onlineData then
self.timer:Stop()
self.timer = nil
this.remaindTimeText.text = ""
end
end, 1, -1, true)
self.timer:Start()
end
function CourtesyDressPanel:RemainTimeDownUpdata()
local timeNum = GetTimeStamp() - ActivityGiftManager.cuOnLineTimestamp
this.remaindTimeText.text = Language[10020]..TimeToHMS(timeNum)
--Log(" ee "..GetTimeStamp().." "..ActivityGiftManager.cuOnLineTimestamp.." " ..this.remaindTimeText.text)
local newSort = 0
for i = 1, #ActivityGiftManager.onlineData do
if ActivityGiftManager.onlineGetRewardState[ActivityGiftManager.onlineData[i].Id] == 0 then
local curValue = ActivityGiftManager.onlineData[i].Values[1][1]*60
local curSort = ActivityGiftManager.onlineData[i].Sort
if (math.floor(timeNum) >= curValue and newSort < curSort) then
newSort = curSort
end
end
end
if newSort ~= ActivityGiftManager.currentTimeIndex then
ActivityGiftManager.currentTimeIndex = newSort
this:OnShowActivityData(ActivityGiftManager.onlineData, ActivityTypeDef.OnlineGift, ActivityGiftManager.onlineGetRewardState, ActivityGiftManager.currentTimeIndex)
end
end
return CourtesyDressPanel