miduo_client/Assets/ManagedResources/~Lua/Modules/NewShenZun/ActivityChongRank.lua

576 lines
24 KiB
Lua

require("Base/BasePanel")
ActivityChongRank = Inherit(BasePanel)
local TabBox = require("Modules/Common/TabBox")
local this = ActivityChongRank
local infoConfig = ConfigManager.GetConfig(ConfigName.ChongRankInfo)
local rankConfig = ConfigManager.GetConfig(ConfigName.ChongRank)
local curConfig = nil
local currId = 0
local type = 0
local btnType = 0
local rankType = 0
local ownRank = 0
local isFirst = false
local _TabData = {
[1] = { default = "sz_weixuanzhong", select = "sz_xuanzhong", name = Language[11924] },
[2] = { default = "sz_weixuanzhong", select = "sz_xuanzhong", name = Language[11925] },
[3] = { default = "sz_weixuanzhong", select = "sz_xuanzhong", name = "次数奖励" }
}
local BtnState = {
[0] = { ImgName = "s_slbz_1anniuhuangse", Text = Language[10505] },
[1] = { ImgName = "s_slbz_1anniuongse", Text = Language[10024] },
[2] = { ImgName = "s_slbz_1anniuhuise", Text = Language[10025] },
}
function this:InitComponent()
this.spLoader = SpriteLoader.New()
this.itemsGrid = {} --item重复利用
this.backBtn = Util.GetGameObject(self.gameObject, "bg/btn_close")
this.titleImg = Util.GetGameObject(self.gameObject, "bg/name"):GetComponent("Image")
this.leftTimeTxt = Util.GetGameObject(self.gameObject, "bg/Image/timebg"):GetComponent("Text")
this.grid = Util.GetGameObject(self.gameObject, "bg/tabScroll/grid")
this.btnItem = Util.GetGameObject(self.gameObject, "bg/tabBtnPre")
this.rewardItem = Util.GetGameObject(self.gameObject, "bg/Rank")
this.rankRewardItem = Util.GetGameObject(self.gameObject, "bg/rewardPre")
this.rankItem = Util.GetGameObject(self.gameObject, "bg/Rank2")
this.selectObj = Util.GetGameObject(self.gameObject, "bg/tabSelectBtn")
this.infoTxt = Util.GetGameObject(self.gameObject, "bg/title/infoTxt"):GetComponent("Text")
this.rankTxt = Util.GetGameObject(self.gameObject, "bg/title/Text")
this.rewardGrid = Util.GetGameObject(self.gameObject, "bg/rewardGrid")
this.rankRewardGrid = Util.GetGameObject(self.gameObject, "bg/rankRewardGrid")
this.rankGrid = Util.GetGameObject(self.gameObject, "bg/rankGrid")
this.selectTxt = Util.GetGameObject(self.gameObject, "bg/tabSelectBtn/Text"):GetComponent("Text")
this.tabBox = Util.GetGameObject(self.gameObject, "bg/TabBox")
this.btn_help = Util.GetGameObject(self.gameObject, "bg/btn_help")
this.myRank = Util.GetGameObject(self.gameObject, "bg/myRank"):GetComponent("Text")
local rootHight = this.rewardGrid.transform.rect.height
local width = this.rewardGrid.transform.rect.width
this.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, this.rewardGrid.transform, this.rewardItem, nil,
Vector2.New(width, rootHight), 1, 1, Vector2.New(0, 0))
this.ScrollView.moveTween.MomentumAmount = 1
this.ScrollView.moveTween.Strength = 2
this.ScrollView.elastic = false
this.RankRwardScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, this.rankRewardGrid.transform,
this.rankRewardItem, nil,
Vector2.New(width, rootHight), 1, 1, Vector2.New(0, 0))
this.RankRwardScrollView.moveTween.MomentumAmount = 1
this.RankRwardScrollView.moveTween.Strength = 2
this.RankRwardScrollView.elastic = false
--local rootHight2 = this.rankGrid.transform.rect.height
--local width2 = this.rankGrid.transform.rect.width
this.rankScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, this.rankGrid.transform, this.rankItem, nil,
Vector2.New(width, rootHight), 1, 1, Vector2.New(0, 0))
this.rankScrollView.moveTween.MomentumAmount = 1
this.rankScrollView.moveTween.Strength = 2
this.rankScrollView.elastic = false
this.actData = CommonActPageManager.GetData(ActivityTypeDef.KaiFuChongBang)
this.btnList = {}
for _, configInfo in ConfigPairs(infoConfig) do
local tabBtn = newObjToParent(this.btnItem, this.grid)
Util.GetGameObject(tabBtn, "Text"):GetComponent("Text").text = configInfo.RankName
--this.actData = ActivityGiftManager.GetActivityInfo(ActivityTypeDef.KaiFuChongBang,infoConfig.GlobalActivity)
tabBtn.name = "tab" .. configInfo.GlobalActivity
LogError("检查活动:" .. configInfo.GlobalActivity)
if this.actData and this.actData.activityId == configInfo.GlobalActivity then
local openTime = this.actData.startTime + configInfo.OpenTime
local closeTime = this.actData.startTime + configInfo.CloseTime
--if GetTimeStamp() >= openTime and GetTimeStamp() <= closeTime then --活动未开启
curConfig = configInfo
currId = curConfig.Id
isFirst = true
--end
--活动没开启页签不显示
if openTime > GetTimeStamp() + configInfo.Preview then
tabBtn.gameObject:SetActive(false)
end
else
tabBtn.gameObject:SetActive(false)
end
table.insert(this.btnList, tabBtn)
Util.AddClick(tabBtn, function()
btnType = _
this.TabBtnOnClick(configInfo, tabBtn)
end)
end
if currId > 5 then
this.grid:GetComponent("RectTransform").anchoredPosition = Vector2.New(300, 9)
end
--显示货币
this.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform)
this.itemList = {}
end
local qaId = 0
function this:OnShow()
PlayerPrefs.SetInt(PlayerManager.uid .. "kaifuchongbang", 1)
if type == 3 then
this.redpot:SetActive(RankingManager.canGet > 0)
RankingManager.UpdateStatus(curConfig.Id, function()
this.UpdateRankingRewardList(curConfig)
end)
end
end
local state = 0
function this.TabBtnOnClick(config, btn)
local time = 0
--this.actData = CommonActPageManager.GetData(config.GlobalActivity)
--this.actData = ActivityGiftManager.GetActivityInfo(ActivityTypeDef.KaiFuChongBang,infoConfig.GlobalActivity)
if this.actData and this.actData.activityId == config.GlobalActivity then
local openTime = this.actData.startTime + config.OpenTime
local closeTime = this.actData.startTime + config.CloseTime
if openTime > GetTimeStamp() then --活动未开启
time = openTime - GetTimeStamp()
state = 1
elseif closeTime > GetTimeStamp() then --活动进行中
time = closeTime - GetTimeStamp()
state = 2
elseif closeTime < GetTimeStamp() then
time = 0
state = 3
end
if state == 1 and config.Id > currId + 1 then
PopupTipPanel.ShowTip(Language[11926])
return
end
else
PopupTipPanel.ShowTip(Language[11926])
return
end
this.selectObj.transform:SetParent(btn.transform)
this.selectObj.transform.localScale = Vector3.one
this.selectObj.transform.localPosition = Vector3.zero
this.selectTxt.text = GetLanguageStrById(config.RankName)
qaId = config.QAConfig
--设置时间
if this.timer then
this.timer:Stop()
this.timer = nil
end
if state == 1 then
this.leftTimeTxt.text = string.format(Language[11927] .. "%s", TimeToFelaxible(time))
elseif state == 2 then
this.leftTimeTxt.text = string.format(Language[10495] .. "%s", TimeToFelaxible(time))
elseif state == 3 then
this.leftTimeTxt.text = Language[10510]
end
if time ~= 0 then
this.timer = Timer.New(function()
time = time - 1
if state == 1 then
this.leftTimeTxt.text = string.format(Language[11927] .. "%s", TimeToFelaxible(time))
elseif state == 2 then
this.leftTimeTxt.text = string.format(Language[10495] .. "%s", TimeToFelaxible(time))
elseif state == 3 then
this.leftTimeTxt.text = Language[10510]
end
if time <= 0 and state ~= 3 then
--this:OnClose()
state = 3
this.ChangeWindow(config)
--this.TabCtrl:ChangeTab(1)
end
end, 1, -1, true)
this.timer:Start()
end
--this.ChangeWindow(config)
this.TabCtrl:ChangeTab(1)
end
function this.ChangeWindow(config)
this.titleImg.sprite = this.spLoader:LoadSprite(config.Icon)
curConfig = config
if state == 3 then
rankType = config.BackRankType
else
rankType = config.RankType
end
RankingManager.InitData(rankType, function()
if state == 3 then
rankType = config.BackRankType
else
rankType = config.RankType
end
LogError("ranktype==" .. rankType)
local ranks, myRank = RankingManager.GetRankingInfo()
ownRank = myRank.rank
if ownRank > 0 then
this.myRank.text = Language[10118] .. ownRank
else
this.myRank.text = ""
end
LogError("ranks len=======" .. #ranks)
--this.SetRoleRank(ranks,myRank,true,true)
if type == 1 then
this.rankTxt:SetActive(true)
this.rewardGrid:SetActive(false)
this.rankGrid:SetActive(true)
this.rankRewardGrid:SetActive(false)
this.infoTxt.text = Language[11928]
-- RankingManager.InitData(config.RankType,function()
-- rankType=config.RankType
-- LogError("ranktype=="..rankType)
-- local ranks,myRank = RankingManager.GetRankingInfo()
-- ownRank=myRank.rank
-- LogError("ranks len======="..#ranks)
this.SetRoleRank(ranks, myRank, true, true)
-- end,0,1)
elseif type == 2 then
local list = {}
this.rankTxt:SetActive(true)
this.rewardGrid:SetActive(true)
this.rankGrid:SetActive(false)
this.rankRewardGrid:SetActive(false)
this.infoTxt.text = Language[10073]
for _, configInfo in ConfigPairs(rankConfig) do
if configInfo.ChongRankInfoID == config.Id then
table.insert(list, configInfo)
end
end
this.ScrollView:SetData(list, function(index, go)
this.UpdateRewardInfo(go, list[index])
end, false)
elseif type == 3 then
this.UpdateRankingRewardList(config)
RankingManager.UpdateStatus(config.Id, function()
this.UpdateRankingRewardList(config)
end)
end
end, 0, 1)
end
function this.UpdateRankingRewardList(config)
local list = RankingManager.GetNeedRewardData(config.Id)
--local list = RankingManager.GetNeedRewardData(4)
this.rankTxt:SetActive(false)
this.rewardGrid:SetActive(false)
this.rankGrid:SetActive(false)
this.rankRewardGrid:SetActive(true)
this.infoTxt.text = Language[10073]
this.RankRwardScrollView:SetData(list, function(index, go)
this.UpdateRankReward(go, list[index], config)
end, false)
end
function this:BindEvent()
Util.AddClick(this.backBtn, function()
self:ClosePanel()
end)
Util.AddClick(this.btn_help, function()
UIManager.OpenPanel(UIName.HelpPopup, qaId, this.btn_help.transform.localPosition.x,
this.btn_help.transform.localPosition.y)
end)
this.TabCtrl = TabBox.New()
this.TabCtrl:SetTabAdapter(this.TabAdapter)
this.TabCtrl:SetChangeTabCallBack(this.SwitchView)
this.TabCtrl:Init(this.tabBox, _TabData)
end
-- tab节点显示自定义
function this.TabAdapter(tab, index, status)
local tabLab = Util.GetGameObject(tab, "Text")
Util.GetGameObject(tab, "Image"):GetComponent("Image").sprite = this.spLoader:LoadSprite(_TabData[index][status])
tabLab:GetComponent("Text").text = _TabData[index].name
if index == 3 then
local list = RankingManager.GetNeedRewardData(curConfig.Id)
--local list = RankingManager.GetNeedRewardData(4)
tab.gameObject:SetActive(#list > 0)
this.redpot = Util.GetGameObject(tab.gameObject, "Redpot")
this.redpot:SetActive(RankingManager.canGet > 0)
end
end
--切换视图
function this.SwitchView(index)
type = index
if curConfig == nil then
curConfig = infoConfig[1]
this.TabBtnOnClick(curConfig, this.btnList[1])
return
end
if isFirst then
isFirst = false
this.TabBtnOnClick(curConfig, this.btnList[curConfig.Id])
return
end
this.ChangeWindow(curConfig)
if index == 3 then
this.redpot:SetActive(RankingManager.canGet > 0)
end
end
function this.UpdateRewardInfo(go, data)
local sortNumTabs = {}
for i = 1, 4 do
sortNumTabs[i] = Util.GetGameObject(go, "sortNum/sortNum (" .. i .. ")")
sortNumTabs[i]:SetActive(false)
end
local reward = Util.GetGameObject(go, "reward")
local sort4Text = Util.GetGameObject(sortNumTabs[4], "rankNumberText"):GetComponent("Text")
local hintObj = Util.GetGameObject(go, "hint")
if ownRank and ownRank >= data.MinRank and ownRank <= data.MaxRank then
hintObj:SetActive(true)
else
hintObj:SetActive(false)
end
if data.MinRank == data.MaxRank then
if data.MaxRank < 4 then
sortNumTabs[data.MinRank]:SetActive(true)
else
sortNumTabs[4]:SetActive(true)
sort4Text.text = data.MaxRank
end
else
sortNumTabs[4]:SetActive(true)
if data.MaxRank < 0 then
sort4Text.text = data.MinRank .. "+"
else
sort4Text.text = data.MinRank .. "-" .. data.MaxRank
end
end
if not this.itemList[go] then
this.itemList[go] = {}
end
for i = 1, #this.itemList[go] do
this.itemList[go][i].gameObject:SetActive(false)
end
for i = 1, #data.RankingReward do
if not this.itemList[go][i] then
this.itemList[go][i] = SubUIManager.Open(SubUIConfig.ItemView, reward.transform)
end
this.itemList[go][i]:OnOpen(false, data.RankingReward[i], 0.8, false, false, false, this.sortingOrder)
this.itemList[go][i].gameObject:SetActive(true)
end
end
function this.UpdateRankReward(go, data, config)
local title = Util.GetGameObject(go, "title/titleText"):GetComponent("Text")
local btn = Util.GetGameObject(go, "btn"):GetComponent("Button")
local btnImg = Util.GetGameObject(go, "btn"):GetComponent("Image")
local btnText = Util.GetGameObject(go, "btn/Text"):GetComponent("Text")
local redPoint = Util.GetGameObject(go, "btn/redPoint")
local rewardList = Util.GetGameObject(go, "rewardList")
local grid = Util.GetGameObject(go, "rewardList")
local shadow = Util.GetGameObject(go, "shadow")
local progress = Util.GetGameObject(go, "progress"):GetComponent("Text")
local shows = data.Reward
title.text = GetLanguageStrById(data.Text)
redPoint:SetActive(data.state == 1)
this.redpot:SetActive(RankingManager.canGet > 0)
btn.interactable = data.state ~= 2
btnImg.sprite = this.spLoader:LoadSprite(BtnState[data.state].ImgName)
btnText.text = BtnState[data.state].Text
if data.state == 0 then
progress.gameObject:SetActive(true)
progress.text = string.format("%s/%s", data.progress, data.value)
else
progress.gameObject:SetActive(false)
end
--滚动条复用重设itemview
if this.itemsGrid[go] then
for i = 1, 4 do
this.itemsGrid[go][i].gameObject:SetActive(false)
end
for i = 1, #shows do
if this.itemsGrid[go][i] then
this.itemsGrid[go][i]:OnOpen(false, { shows[i][1], shows[i][2] }, 0.9, false, false, false, sortingOrder)
this.itemsGrid[go][i].gameObject:SetActive(true)
end
end
else
this.itemsGrid[go] = {}
for i = 1, 4 do
this.itemsGrid[go][i] = SubUIManager.Open(SubUIConfig.ItemView, grid.transform)
this.itemsGrid[go][i].gameObject:SetActive(false)
local obj = newObjToParent(shadow, this.itemsGrid[go][i].transform)
obj.transform:SetAsFirstSibling()
obj.transform:DOAnchorPos(Vector3(0, -3, 0), 0)
obj:GetComponent("RectTransform").transform.localScale = Vector3.one * 1.1
obj.gameObject:SetActive(true)
obj.transform:SetSiblingIndex(0)
end
for i = 1, #shows do
this.itemsGrid[go][i]:OnOpen(false, { shows[i][1], shows[i][2] }, 0.9, false, false, false, sortingOrder)
this.itemsGrid[go][i].gameObject:SetActive(true)
end
end
Util.AddOnceClick(btn.gameObject, function()
if data.state == 0 then
JumpManager.GoJump(data.jumpId)
elseif data.state == 1 then
NetManager.GetRankTimesRewardRequest(data.Sort, data.value, function(msg)
RankingManager.SetRewardDataState(data.id, 2)
this.UpdateRankingRewardList(curConfig)
this.redpot:SetActive(RankingManager.canGet > 0)
UIManager.OpenPanel(UIName.RewardItemPopup, msg.drop, 1, function()
--self:SwitchView(self.curPage, true)
end)
end)
end
end)
end
-- 设置玩家排行
function this.SetRoleRank(ranks, myRankInfo, isTop, isAnim)
--if #ranks == 0 or not ranks then Log("木有排行信息") return end
local rankFunc = function(index, item)
this.UpdateRankInfo(item, ranks[index], myRankInfo.rank)
if index == #ranks then
RankingManager.RequestNextWarPowerPageData(function()
local ranks, myRank = RankingManager.GetRankingInfo()
--this.SetPlayerRankInfo(ranks,myRank)
this.SetRoleRank(ranks, myRank)
end)
end
end
-- -- 重置排行列表
this.rankScrollView:SetData(ranks, rankFunc, not isTop, not isAnim)
end
local _PlayerHeadList = {}
function this.UpdateRankInfo(go, data)
local sortNumTabs = {}
for i = 1, 4 do
sortNumTabs[i] = Util.GetGameObject(go, "sortNum/sortNum (" .. i .. ")")
sortNumTabs[i]:SetActive(false)
end
local sort4Text = Util.GetGameObject(sortNumTabs[4], "rankNumberText"):GetComponent("Text")
if data.rankInfo.rank < 4 then
sort4Text.gameObject:SetActive(false)
sortNumTabs[data.rankInfo.rank]:SetActive(true)
else
sort4Text.gameObject:SetActive(true)
sortNumTabs[4]:SetActive(true)
sort4Text.text = data.rankInfo.rank
end
local head = Util.GetGameObject(go, "head")
local nameTxt = Util.GetGameObject(go, "nameTxt"):GetComponent("Text")
local warPower = Util.GetGameObject(go, "warPower")
local infoTxt = Util.GetGameObject(go, "numTxt"):GetComponent("Text")
local starImg = Util.GetGameObject(go, "starImg")
local selfObj = Util.GetGameObject(go, "slefBG")
selfObj:SetActive(data.rankInfo.rank == ownRank)
warPower:SetActive(false)
infoTxt.gameObject:SetActive(false)
starImg:SetActive(false)
nameTxt.text = data.userName
if not _PlayerHeadList[go] then
_PlayerHeadList[go] = SubUIManager.Open(SubUIConfig.PlayerHeadView, head.transform)
end
_PlayerHeadList[go]:Reset()
_PlayerHeadList[go]:SetHead(data.head)
_PlayerHeadList[go]:SetFrame(data.headFrame)
_PlayerHeadList[go]:SetLevel(data.level)
_PlayerHeadList[go]:SetScale(Vector3.one * 0.7)
_PlayerHeadList[go]:SetLayer(this.sortingOrder)
_PlayerHeadList[go]:SetEffectScale(0.75)
local viewType = PLAYER_INFO_VIEW_TYPE.NORMAL
if rankType == RANK_TYPE.FORCE_CURR_RANK or rankType == RANK_TYPE.FightValue_chong then --战力排行
warPower:SetActive(true)
Util.GetGameObject(go, "warPower/Text"):SetActive(true)
Util.GetGameObject(go, "warPower/Text"):GetComponent("Text").text = data.rankInfo.param1
elseif rankType == RANK_TYPE.FIGHT_LEVEL_RANK or rankType == RANK_TYPE.Level_chong then --关卡排行
infoTxt.gameObject:SetActive(true)
infoTxt.text = GetLanguageStrById(ConfigManager.GetConfigData(ConfigName.MainLevelConfig, data.rankInfo.param1)
.Name)
elseif rankType == RANK_TYPE.MONSTER_RANK or rankType == RANK_TYPE.Demons_chong then --心魔试炼
infoTxt.gameObject:SetActive(true)
infoTxt.text = Language[11929] .. data.rankInfo.param1
elseif rankType == RANK_TYPE.FIGHTLEVEL_STAR or rankType == RANK_TYPE.ShanHe_chong then --山河社稷图 升星排行
starImg:SetActive(true)
infoTxt.gameObject:SetActive(true)
infoTxt.text = data.rankInfo.param1
elseif rankType == RANK_TYPE.EquipRank or rankType == RANK_TYPE.EquipRank2 then
infoTxt.gameObject:SetActive(true)
infoTxt.text = Language[11930] .. data.rankInfo.param1
elseif rankType == RANK_TYPE.SoulSign or rankType == RANK_TYPE.SoulSign2 then
infoTxt.gameObject:SetActive(true)
infoTxt.text = Language[11931] .. data.rankInfo.param1
elseif rankType == RANK_TYPE.UpStar or rankType == RANK_TYPE.UpStar2 then
infoTxt.gameObject:SetActive(true)
infoTxt.text = Language[11932] .. data.rankInfo.param1
elseif rankType == RANK_TYPE.DaijinquanRank or rankType == RANK_TYPE.DaijinquanRank_chong then
infoTxt.gameObject:SetActive(true)
infoTxt.text = GetLanguageStrById("代金券") .. ":" .. data.rankInfo.param1
elseif rankType == RANK_TYPE.YingxiongRank or rankType == RANK_TYPE.YingxiongRank_chong then
infoTxt.gameObject:SetActive(true)
infoTxt.text = GetLanguageStrById("次数:") .. data.rankInfo.param1
elseif rankType == RANK_TYPE.FabaoRank or rankType == RANK_TYPE.FabaoRank_chong then
infoTxt.gameObject:SetActive(true)
infoTxt.text = GetLanguageStrById("次数:") .. data.rankInfo.param1
elseif rankType == RANK_TYPE.XunxianRank or rankType == RANK_TYPE.XunxianRank_chong then
infoTxt.gameObject:SetActive(true)
infoTxt.text = GetLanguageStrById("次数:") .. data.rankInfo.param1
elseif rankType == RANK_TYPE.KuafuDaijinquanRank or rankType == RANK_TYPE.KuafuDaijinquanRank_chong then
infoTxt.gameObject:SetActive(true)
infoTxt.text = GetLanguageStrById("代金券") .. ":" .. data.rankInfo.param1
elseif rankType == RANK_TYPE.KuafuYingxiongRank or rankType == RANK_TYPE.KuafuYingxiongRank_chong then
infoTxt.gameObject:SetActive(true)
infoTxt.text = GetLanguageStrById("次数:") .. data.rankInfo.param1
elseif rankType == RANK_TYPE.KuafuFabaoRank or rankType == RANK_TYPE.KuafuFabaoRank_chong then
infoTxt.gameObject:SetActive(true)
infoTxt.text = GetLanguageStrById("次数:") .. data.rankInfo.param1
elseif rankType == RANK_TYPE.KuafuXunxianRank or rankType == RANK_TYPE.KuafuXunxianRank_chong then
infoTxt.gameObject:SetActive(true)
infoTxt.text = GetLanguageStrById("次数:") .. data.rankInfo.param1
end
Util.AddOnceClick(go, function()
UIManager.OpenPanel(UIName.PlayerInfoPopup, data.uid, viewType)
end)
end
function this:OnOpen(data)
--this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.ShenZun})
end
--添加事件监听(用于子类重写)
function this:AddListener()
end
--移除事件监听(用于子类重写)
function this:RemoveListener()
end
function this.UpdateTopInfo()
end
--界面关闭时调用(用于子类重写)
function this:OnClose()
if self.timer then
self.timer:Stop()
self.timer = nil
end
CheckRedPointStatus(RedPointType.KaiFuChongBang)
end
function this:OnDestroy()
this.spLoader:Destroy()
if self.timer then
self.timer:Stop()
self.timer = nil
end
for k, v in pairs(self.itemsGrid) do
for i = 1, #v do
SubUIManager.Close(v[i])
end
end
curConfig = nil
SubUIManager.Close(this.ScrollView)
SubUIManager.Close(this.rankScrollView)
SubUIManager.Close(this.RankRwardScrollView)
end
return this