【ios】添加图片回收机制,子物体不再从缓存池中创建,修改commonatlas到dy文件夹
parent
c31a82ef7f
commit
56d849c6a1
|
@ -8,8 +8,6 @@ this.game = nil
|
|||
this.name = nil
|
||||
this.isPlayAudio = true
|
||||
|
||||
|
||||
|
||||
--UIManager打开UI时调用(子类不要重写此方法)
|
||||
function BasePanel:CreateUI(gameObject)
|
||||
self.name = gameObject.name
|
||||
|
@ -17,11 +15,24 @@ function BasePanel:CreateUI(gameObject)
|
|||
self.transform = gameObject.transform
|
||||
self.canvas = self.gameObject:GetComponent("Canvas")
|
||||
self.openNum = 0
|
||||
self.SpriteList = {}
|
||||
if self.Awake ~= nil then
|
||||
MyPCall(function() self:Awake() end)
|
||||
MyPCall(
|
||||
function()
|
||||
self:Awake()
|
||||
end
|
||||
)
|
||||
end
|
||||
MyPCall(function() self:InitComponent() end)
|
||||
MyPCall(function() self:BindEvent() end )
|
||||
MyPCall(
|
||||
function()
|
||||
self:InitComponent()
|
||||
end
|
||||
)
|
||||
MyPCall(
|
||||
function()
|
||||
self:BindEvent()
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
--设置渲染层级
|
||||
|
@ -32,10 +43,10 @@ function BasePanel:SetSortingOrder(sortingOrder)
|
|||
self:OnSortingOrderChange()
|
||||
end
|
||||
|
||||
local playUIAnimsOnStart = function (gameObject)
|
||||
local playUIAnimsOnStart = function(gameObject)
|
||||
local anims = gameObject:GetComponentsInChildren(typeof(PlayFlyAnim))
|
||||
if anims.Length > 0 then
|
||||
for i=0, anims.Length-1 do
|
||||
for i = 0, anims.Length - 1 do
|
||||
local anim = anims[i]
|
||||
if anim.isPlayOnOpen then
|
||||
anim:PlayAnim(false)
|
||||
|
@ -47,7 +58,11 @@ end
|
|||
--UI打开时由UIManager调用(子类不要重写此方法)
|
||||
function BasePanel:OpenUI(IsBackOpen, ...)
|
||||
if not self.isOpened then
|
||||
MyPCall(function() self:AddListener() end)
|
||||
MyPCall(
|
||||
function()
|
||||
self:AddListener()
|
||||
end
|
||||
)
|
||||
if self.Update ~= nil then
|
||||
UpdateBeat:Add(self.Update, self)
|
||||
end
|
||||
|
@ -79,7 +94,11 @@ end
|
|||
--UI关闭时由UIManager调用(子类不要重写此方法)
|
||||
function BasePanel:CloseUI()
|
||||
if self.isOpened then
|
||||
MyPCall(function() self:RemoveListener() end)
|
||||
MyPCall(
|
||||
function()
|
||||
self:RemoveListener()
|
||||
end
|
||||
)
|
||||
if self.Update ~= nil then
|
||||
UpdateBeat:Remove(self.Update, self)
|
||||
end
|
||||
|
@ -99,6 +118,7 @@ end
|
|||
|
||||
--UI销毁时由UIManager调用(子类不要重写此方法)
|
||||
function BasePanel:DestroyUI()
|
||||
self:UnLoadSprite()
|
||||
self:OnDestroy()
|
||||
Game.GlobalEvent:DispatchEvent(GameEvent.UI.OnDestroy, self.uiConfig.id, self)
|
||||
end
|
||||
|
@ -155,10 +175,23 @@ end
|
|||
function BasePanel:OnDestroy()
|
||||
end
|
||||
|
||||
function BasePanel:LoadSprite(name)
|
||||
local transName = GetTranslateSpriteName(name)
|
||||
local sp = resMgr:LoadAsset(name)
|
||||
if sp then
|
||||
if not self.SpriteList[sp.name] then
|
||||
self.SpriteList[sp.name] = 0
|
||||
end
|
||||
-- 每次加载会导致引用计数加2
|
||||
self.SpriteList[sp.name] = self.SpriteList[sp.name] + 1
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- 根据界面加载的数量卸载相应数量的资源
|
||||
function BasePanel:UnLoadSprite()
|
||||
for name, count in pairs(self.SpriteList) do
|
||||
for i = 1, count do
|
||||
resMgr:UnLoadAsset(name)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,4 +16,20 @@ function InitLanguageData()
|
|||
LogGreen("语言初始化完成:"..tostring(#languageData))
|
||||
end
|
||||
|
||||
-- 图片名字翻译
|
||||
function GetTranslateSpriteName(name)
|
||||
local subStr = string.sub(name, #name - 2, #name)
|
||||
local transName = name
|
||||
if subStr == "_zh" then
|
||||
local l = GetCurLanguage()
|
||||
if l == 1 then
|
||||
transName = string.sub(transName, 1, #transName - 2) .. "en"
|
||||
elseif l == 2 then
|
||||
transName = string.sub(transName, 1, #transName - 2) .. "vi"
|
||||
end
|
||||
end
|
||||
return transName
|
||||
end
|
||||
|
||||
|
||||
InitLanguageData()
|
|
@ -14,7 +14,8 @@ local function playUIAnimsOnStart(gameObject, callback)
|
|||
end
|
||||
end
|
||||
local function createPanel(uiConfig, parent)
|
||||
local gameObject = poolManager:LoadAsset(uiConfig.assetName, PoolManager.AssetType.GameObject)
|
||||
local _obj = resMgr:LoadAsset(uiConfig.assetName)
|
||||
local gameObject = GameObject.Instantiate(_obj)
|
||||
gameObject.name = uiConfig.name
|
||||
local transform = gameObject.transform
|
||||
transform:SetParent(parent)
|
||||
|
@ -66,7 +67,7 @@ function this.Close(sub)
|
|||
if sub.OnClose then
|
||||
sub:OnClose()
|
||||
end
|
||||
poolManager:UnLoadAsset(sub.assetName, sub.gameObject, PoolManager.AssetType.GameObject)
|
||||
resMgr:UnLoadAsset(sub.assetName)
|
||||
end
|
||||
|
||||
|
||||
|
|
|
@ -532,16 +532,16 @@ public class FindReferences
|
|||
else{
|
||||
Counter.Add(resName, 1);
|
||||
}
|
||||
if (!AssetDatabase.IsValidFolder("Assets/ManagedResources/Atlas/" + tarFolder))
|
||||
if (!AssetDatabase.IsValidFolder("Assets/ManagedResources/DynamicAtlas/" + tarFolder))
|
||||
{
|
||||
AssetDatabase.CreateFolder("Assets/ManagedResources/Atlas", tarFolder);
|
||||
AssetDatabase.CreateFolder("Assets/ManagedResources/DynamicAtlas", tarFolder);
|
||||
}
|
||||
if (!AssetDatabase.IsValidFolder("Assets/ManagedResources/Atlas/" + tarFolder + "/ArtFont"))
|
||||
if (!AssetDatabase.IsValidFolder("Assets/ManagedResources/DynamicAtlas/" + tarFolder + "/ArtFont"))
|
||||
{
|
||||
AssetDatabase.CreateFolder("Assets/ManagedResources/Atlas/" + tarFolder, "ArtFont");
|
||||
AssetDatabase.CreateFolder("Assets/ManagedResources/DynamicAtlas/" + tarFolder, "ArtFont");
|
||||
}
|
||||
|
||||
string tarPath = "Assets/ManagedResources/Atlas/" + tarFolder;
|
||||
string tarPath = "Assets/ManagedResources/DynamicAtlas/" + tarFolder;
|
||||
if (subFolder == "ArtFont")
|
||||
{
|
||||
tarPath += "/ArtFont";
|
||||
|
|
Loading…
Reference in New Issue