【内存】btview可能会导致重复卸载资源的问题

dev_chengFeng
gaoxin 2021-04-22 13:40:04 +08:00
parent 7bfc88070b
commit 43afe3d6f1
19 changed files with 42 additions and 58 deletions

View File

@ -479,7 +479,7 @@ end
function AdventureMainPanel:OnShow()
AdventureManager.isEnterAdventure=true
this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.AdventureTimes })
this.BtView:OnOpen({ sortOrder = self.sortingOrder, panelType = PanelTypeView.SecretTerritoryPanel })
this.BtView:OnOpen(self, { sortOrder = self.sortingOrder, panelType = PanelTypeView.SecretTerritoryPanel })
this:OnRefreshData()
this:RefreshExpeditionsData()
this.sayInfoImageBg:SetActive(false)

View File

@ -488,7 +488,7 @@ function BagPanel:OnOpen(_sortIndex)
end
this.UpView:OnOpen({ showType = UpViewOpenType.ShowRight, panelType = PanelType.Main })
this.BtView:OnOpen({ sortOrder = self.sortingOrder, panelType = PanelTypeView.BagPanel })
this.BtView:OnOpen(self, { sortOrder = self.sortingOrder, panelType = PanelTypeView.BagPanel })
end
--界面打开时调用(用于子类重写)
function BagPanel:OnShow()

View File

@ -159,7 +159,7 @@ function CarbonTypePanel:OnOpen()
-- 清除一下选得副本类型
CarbonManager.difficulty = 0
CheckRedPointStatus(RedPointType.EpicExplore_GetReward)
this.BtView:OnOpen({ sortOrder = self.sortingOrder, panelType = PanelTypeView.Carbon })
this.BtView:OnOpen(self, { sortOrder = self.sortingOrder, panelType = PanelTypeView.Carbon })
this.UpView:OnOpen({ showType = UpViewOpenType.ShowRight, panelType = PanelType.Main })
end

View File

@ -180,7 +180,7 @@ function CarbonTypePanelV2:OnOpen()
-- 清除一下选得副本类型
CarbonManager.difficulty = 0
this.BtView.gameObject:SetActive(true)
this.BtView:OnOpen({sortOrder = self.sortingOrder, panelType = PanelTypeView.Carbon})
this.BtView:OnOpen(self, {sortOrder = self.sortingOrder, panelType = PanelTypeView.Carbon})
this.UpView:OnOpen({showType = UpViewOpenType.ShowRight, panelType = PanelType.Main})
elseif carbonType == 2 then
this.BtView.gameObject:SetActive(false)
@ -189,7 +189,7 @@ function CarbonTypePanelV2:OnOpen()
-- 清除一下选得副本类型
CarbonManager.difficulty = 0
this.BtView.gameObject:SetActive(true)
this.BtView:OnOpen({sortOrder = self.sortingOrder, panelType = PanelTypeView.Carbon})
this.BtView:OnOpen(self, {sortOrder = self.sortingOrder, panelType = PanelTypeView.Carbon})
this.UpView:OnOpen({showType = UpViewOpenType.ShowRight, panelType = PanelType.Main})
end
end

View File

@ -50,7 +50,6 @@ function DemonInfoPanel:InitComponent()
--可升阶提示
this.upGradFlag = Util.GetGameObject(self.gameObject, "DemonInfoRoot/BtnLevelUp/upGradFlag")
--this.BtView = SubUIManager.Open(SubUIConfig.BtView, self.gameObject.transform)
this.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform)
end
@ -92,7 +91,7 @@ function DemonInfoPanel:OnOpen(context)
this.JudgeUpGradCondition(pokeMon)
this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.DiffMonster })
--this.BtView:OnOpen({ sortOrder = self.sortingOrder, panelType = PanelTypeView.DiffMonsterPanel })
--this.BtView:OnOpen(self, { sortOrder = self.sortingOrder, panelType = PanelTypeView.DiffMonsterPanel })
end

View File

@ -85,7 +85,6 @@ function DiffMonsterPanel:InitComponent()
this.helpBtn = Util.GetGameObject(self.gameObject, "helpBtn")
this.helpPosition = this.helpBtn:GetComponent("RectTransform").localPosition
--this.BtView = SubUIManager.Open(SubUIConfig.BtView, self.gameObject.transform)-- 货币显示
self.bg = Util.GetGameObject(self.gameObject, "effect")
this.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform, { showType = UpViewOpenType.ShowLeft })
@ -156,7 +155,7 @@ function DiffMonsterPanel:OnOpen(...)
end
this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.DiffMonster })
--this.BtView:OnOpen({ sortOrder = self.sortingOrder, panelType = PanelTypeView.DiffMonsterPanel })
--this.BtView:OnOpen(self, { sortOrder = self.sortingOrder, panelType = PanelTypeView.DiffMonsterPanel })
SoundManager.PlayMusic(SoundConfig.BGM_DiffMonster)

View File

@ -65,6 +65,9 @@ end
-- 打开,重新打开时回调
function ActivityMainPanel:OnShow()
orginLayer = self.sortingOrder
if _CurPageIndex == 0 then
_CurPageIndex = 1
end
if _CurPageIndex and _CurPageIndex > #tabs then
_CurPageIndex = #tabs
end
@ -171,6 +174,7 @@ function this.OnPageTabChange(index)
subViewList[index].sub:OnShow(orginLayer)
else
subViewList[index] = {}
LogError(index)
if tabs[index].UIName then
subViewList[index].config = SubUIConfig[tabs[index].UIName[1]]
subViewList[index].sub = SubUIManager.Open(subViewList[index].config,this.content.transform,tabs[index],index,this)

View File

@ -13,6 +13,7 @@ local points = {}
local isCounting = false
local orginLayer=0
local hasLoad = false
local hasMap = false
this.funcBtnList = {}
local curMianTaskData = {}
local timePressStarted
@ -347,7 +348,7 @@ end
--界面打开时调用(用于子类重写)
function FightPointPassMainPanel:OnOpen(func)
this.UpView:OnOpen({ showType = UpViewOpenType.ShowRight, panelType = PanelType.FightPointPass })
this.BtView:OnOpen({ sortOrder = self.sortingOrder, panelType = PanelTypeView.JieLing })
this.BtView:OnOpen(self, { sortOrder = self.sortingOrder, panelType = PanelTypeView.JieLing })
callBack = nil
if func then
callBack = func
@ -395,7 +396,13 @@ function FightPointPassMainPanel:OnShow()
isCounting = false
-- 加载地图数据
coroutine.start(function()
coroutine.wait(0.01)
if UIManager.IsOpen(UIName.FightPointPassMainPanel) then
fightMap:Init()
hasMap = true
end
end)
FightPointPassManager.isBattleBack = false
hasLoad = true
@ -617,7 +624,10 @@ function FightPointPassMainPanel:OnClose()
PlayerManager.StopBattleUpLvTipTime()
hasLoad = false
invadeMonster:OnClose()
if hasMap then
fightMap:Dispose()
hasMap = false
end
if this.animTimer then
this.animTimer:Stop()

View File

@ -236,10 +236,10 @@ function this:LoadMapData()
this.moneyEffect:SetActive(false)
Util.AddParticleSortLayer(this.moneyEffect, m_parent.sortingOrder - m_orginLayer)
Util.AddParticleSortLayer(this.hitEffect, m_parent.sortingOrder - m_orginLayer)
Util.AddParticleSortLayer(this.boxEffect, m_parent.sortingOrder - m_orginLayer)
m_orginLayer = m_parent.sortingOrder
-- Util.AddParticleSortLayer(this.moneyEffect, m_parent.sortingOrder - m_orginLayer)
-- Util.AddParticleSortLayer(this.hitEffect, m_parent.sortingOrder - m_orginLayer)
-- Util.AddParticleSortLayer(this.boxEffect, m_parent.sortingOrder - m_orginLayer)
-- m_orginLayer = m_parent.sortingOrder
--this:OnSortingOrderChange(m_parent.sortingOrder)
this.boxEffect:SetActive(false)
end

View File

@ -251,7 +251,7 @@ end
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
function GuildMainCityPanel:OnShow()
this.UpView:OnOpen({ showType = UpViewOpenType.ShowRight, panelType = PanelType.Guild })
this.BtView:OnOpen({ sortOrder = self.sortingOrder, panelType = PanelTypeView.GongHui })
this.BtView:OnOpen(self, { sortOrder = self.sortingOrder, panelType = PanelTypeView.GongHui })
CheckRedPointStatus(RedPointType.Guild_RedPacket)
CheckRedPointStatus(RedPointType.Guild_Fete)
CheckRedPointStatus(RedPointType.Guild_AidBox)

View File

@ -99,8 +99,6 @@ function HandBookHeroAndEquipListPanel:InitComponent()
violetGridList[i]=Util.GetGameObject(self.violetGrid.transform,"equip ("..i..")")
blueGridList[i]=Util.GetGameObject(self.blueGrid.transform,"equip ("..i..")")
end
--self.BtView = SubUIManager.Open(SubUIConfig.BtView, self.gameObject.transform)
--self.BtView2 = SubUIManager.Open(SubUIConfig.BtView2, self.gameObject.transform)
self.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform)
self.selectBtn = Util.GetGameObject(self.gameObject, "Tabs/selectBtn")
@ -139,7 +137,7 @@ function HandBookHeroAndEquipListPanel:OnOpen(_type)
-- proId=ProIdConst.All
OpenType = _type
--self.BtView:OnOpen({ sortOrder = self.sortingOrder, panelType = PanelTypeView.RolePanel })
--self.BtView:OnOpen(self, { sortOrder = self.sortingOrder, panelType = PanelTypeView.RolePanel })
--self.BtView2:OnOpen({ sortOrder = self.sortingOrder, panelType = PanelTypeView2.HandBookPanel })
self.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.Main })
end

View File

@ -8,8 +8,6 @@ function HandBookMainPanel:InitComponent()
self.btnBack = Util.GetGameObject(self.transform, "btnBack/Image")
self.HeroBtn = Util.GetGameObject(self.transform, "heroGo/heroBtn")
self.equipBtn = Util.GetGameObject(self.transform, "equipGo/equipBtn")
--self.BtView = SubUIManager.Open(SubUIConfig.BtView, self.gameObject.transform)
--self.BtView2 = SubUIManager.Open(SubUIConfig.BtView2, self.gameObject.transform)
self.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform)
end
@ -41,7 +39,7 @@ end
--界面打开时调用(用于子类重写)
function HandBookMainPanel:OnOpen(...)
--self.BtView:OnOpen({ sortOrder = self.sortingOrder, panelType = PanelTypeView.RolePanel })
--self.BtView:OnOpen(self, { sortOrder = self.sortingOrder, panelType = PanelTypeView.RolePanel })
--self.BtView2:OnOpen({ sortOrder = self.sortingOrder, panelType = PanelTypeView2.HandBookPanel })
self.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.Main })
end

View File

@ -771,7 +771,7 @@ function this:OnShow()
Log(string.format("---------------------%s", BagManager.GetItemCountById(14)))
this.UpView:OnOpen({ showType = UpViewOpenType.ShowRight, panelType = PanelType.Main })
this.BtView:OnOpen({ sortOrder = self.sortingOrder, panelType = PanelTypeView.MainCity })
this.BtView:OnOpen(self, { sortOrder = self.sortingOrder, panelType = PanelTypeView.MainCity })
-- 刷新功能显示
this.InitFuncShow()

View File

@ -15,7 +15,6 @@ function ElementDrawCardPanel:InitComponent()
orginLayer = 0
this.btnBack=Util.GetGameObject(self.gameObject, "enterCardPanel/btnBack")
this.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform, { showType = UpViewOpenType.ShowLeft, panelType = PanelType.ElementDrawCard })
--this.BtView = SubUIManager.Open(SubUIConfig.BtView, self.gameObject.transform)
this.item1BuyOneBtn=Util.GetGameObject(self.transform, "getCardPanel1/content2/btn1")
-- this.item1BuyTenBtn=Util.GetGameObject(self.transform, "getCardPanel1/content2/btn10")
this.item2BuyOneBtn=Util.GetGameObject(self.transform, "getCardPanel2/content2/btn1")
@ -271,7 +270,7 @@ end
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
function ElementDrawCardPanel:OnShow()
this.effect:SetActive(false)
--this.BtView:OnOpen({ sortOrder = self.sortingOrder, panelType = PanelTypeView.ElementDrawCardPanel })
--this.BtView:OnOpen(self, { sortOrder = self.sortingOrder, panelType = PanelTypeView.ElementDrawCardPanel })
--this.BtView.transform:SetSiblingIndex(2)
this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.ElementDrawCard })
Util.GetGameObject(this.getCardPanel1, "content2/btn1/Text"):GetComponent("Text").fontSize = GetCurLanguage() ~= 2 and 38 or 30

View File

@ -38,6 +38,7 @@ local heroEndBtns = {}
local tabSortType
function ResolvePanel:InitComponent()
this.spLoader = SpriteLoader.New()
this.panel = Util.GetGameObject(self.gameObject, "Panel")
this.bgIma=Util.GetGameObject(self.gameObject,"Bg"):GetComponent("Image")
this.title=Util.GetGameObject(self.gameObject,"Title"):GetComponent("Image")
@ -62,7 +63,6 @@ function ResolvePanel:InitComponent()
end
for i = 1, #this.contents do
this.contents[i].view:InitComponent(this.panel)
this.spLoader = SpriteLoader.New()
end
end

View File

@ -138,7 +138,7 @@ function RoleListPanel:OnShow()
this.maxk:SetActive(true)
this.heroNumText:GetComponent("Text").text=string.format(Language[11821],#tarHero)
this.UpView:OnOpen({ showType = UpViewOpenType.ShowRight, panelType = PanelType.RoleInfo })
this.BtView:OnOpen({sortOrder = self.sortingOrder,panelType = PanelTypeView.MemberPanel})
this.BtView:OnOpen(self, {sortOrder = self.sortingOrder,panelType = PanelTypeView.MemberPanel})
SoundManager.PlayMusic(SoundConfig.BGM_Main)
sortType = HeroManager.heroListPanelSortID
proId = HeroManager.heroListPanelProID

View File

@ -62,7 +62,6 @@ function SecretBoxPanel:InitComponent()
this.content2=Util.GetGameObject(this.detailPanel, "bottom/openOneButton/content2")
this.costImage1=Util.GetGameObject(this.detailPanel, "bottom/openOneButton/content1/Image")
this.costImage2=Util.GetGameObject(this.detailPanel, "bottom/openOneButton (1)/Image")
--this.BtView = SubUIManager.Open(SubUIConfig.BtView, self.gameObject.transform)
self.imageList = { "y_yuansu_yuansu", "y_yuansu_qunying", "y_yuansu_mihe","y_yuansu_yuansu", "y_yuansu_qunying", "y_yuansu_mihe" }
this.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform, { showType = UpViewOpenType.ShowLeft })
local itemdata={}
@ -294,7 +293,7 @@ function SecretBoxPanel:OnOpen(...)
end
function SecretBoxPanel:OnShow()
--this.BtView:OnOpen({ sortOrder = self.sortingOrder, panelType = PanelTypeView.RecruitPanel })
--this.BtView:OnOpen(self, { sortOrder = self.sortingOrder, panelType = PanelTypeView.RecruitPanel })
this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.SecretBox })
-- 打开详情界面
--if this.TabCtrl then

View File

@ -135,7 +135,7 @@ end
--待功能扩展(试图打开某个状态)
function VipPanelV2:OnOpen()
this.UpView:OnOpen({ showType = UpViewOpenType.ShowRight, panelType = PanelType.Main })
this.BtView:OnOpen({ sortOrder = self.sortingOrder, panelType = PanelTypeView.TeQuan })
this.BtView:OnOpen(self, { sortOrder = self.sortingOrder, panelType = PanelTypeView.TeQuan })
end
function VipPanelV2:OnSortingOrderChange()

View File

@ -4,7 +4,6 @@ local bagPanelUI
local RoleListPanelUI
--- 静态数据
local static_openId = 0
local _CurPanel = nil
function BtView:New(gameObject)
@ -17,7 +16,7 @@ end
--初始化组件(用于子类重写)
function this:InitComponent()
this.spLoader = SpriteLoader.New()
self.spLoader = SpriteLoader.New()
--basicPart
self.BtnMainCity = Util.GetGameObject(self.gameObject, "Down/btnMainCity")
self.BtnChengYuan = Util.GetGameObject(self.gameObject, "Down/btnChengYuan")
@ -51,23 +50,10 @@ function this:InitComponent()
end
function this:CloseCurPanel()
if not _CurPanel then
return
end
if _CurPanel == UIName.FightPointPassMainPanel then
return
end
if UIManager.IsOpen(_CurPanel) then
UIManager.ClosePanel(_CurPanel, true)
end
end
-- 主城
function this:OPenMainCity()
if not UIManager.IsOpen(UIName.MainPanel) then
UIManager.OpenPanel(UIName.MainPanel)
_CurPanel = UIName.MainPanel
end
end
--打开英雄列表界面
@ -76,37 +62,28 @@ function this:OpenChengYuan()
HeroManager.heroListPanelSortID = 1
HeroManager.heroListPanelProID = 0
RoleListPanelUI = UIManager.OpenPanel(UIName.RoleListPanel)
_CurPanel = UIName.RoleListPanel
end
end
--打开仓库界面
function this:OpenCangKu()
if not UIManager.IsOpen(UIName.BagPanel) or (bagPanelUI and bagPanelUI.isFristOpen == false) then
bagPanelUI = UIManager.OpenPanel(UIName.BagPanel)
_CurPanel = UIName.BagPanel
end
end
-- 挂机界面
function this:OpenJieling()
UIManager.OpenPanel(UIName.FightPointPassMainPanel)
_CurPanel = UIName.FightPointPassMainPanel
end
-- 打开副本选择界面
function this:OpenCarbon()
PlayerManager.carbonType = 1
UIManager.OpenPanel(UIName.CarbonTypePanelV2)
_CurPanel = UIName.CarbonTypePanelV2
end
function this:OpenGuild()
JumpManager.GoJump(4001)
-- 如果有公会才修改
if PlayerManager.familyId ~= 0 then
_CurPanel = UIName.GuildMainCityPanel
end
end
function this:OpenVIP()
UIManager.OpenPanel(UIName.VipPanelV2)
_CurPanel = UIName.VipPanelV2
end
--绑定事件(用于子类重写)
@ -150,7 +127,8 @@ end
-- panelType = int,
-- }
--界面打开时调用(用于子类重写)
function this:OnOpen(context)
function this:OnOpen(rootPanel, context)
self.rootPanel = rootPanel
-- if not _CurPanel and UIManager.IsOpen(UIName.FightPointPassMainPanel) then
-- _CurPanel = UIName.FightPointPassMainPanel
-- end
@ -217,8 +195,8 @@ function this:OnBtnClick(pt)
local isOpen = self:CheckIsOpen(pt)
if isOpen then
-- 关闭当前界面
if pt ~= PanelTypeView.GongHui or PlayerManager.familyId ~= 0 then
this:CloseCurPanel()
if self.rootPanel.uiConfig.id ~= UIName.FightPointPassMainPanel and (pt ~= PanelTypeView.GongHui or PlayerManager.familyId ~= 0) then
self.rootPanel:ClosePanel()
end
-- 打开新界面
local btnFunc = self._BtnConfig[pt].clickFunc