c1_lua/lua/app/common/white_res_manager.lua
2023-06-06 11:07:07 +08:00

62 lines
1.6 KiB
Lua

local WhiteResManager = {}
---- 游戏资源白名单
local GAME_RES_WHITE_LIST = {
-- ui
GConst.ATLAS_PATH.COMMON,
-- icon
GConst.ATLAS_PATH.ICON_SKILL,
GConst.ATLAS_PATH.ICON_SKILL_BIG,
GConst.ATLAS_PATH.ICON_SKILL_ROGUE,
GConst.ATLAS_PATH.ICON_ITEM,
GConst.ATLAS_PATH.ICON_HERO,
GConst.ATLAS_PATH.ICON_HERO_2,
GConst.ATLAS_PATH.ICON_BUFF,
GConst.ATLAS_PATH.ICON_TASK,
}
---- 预加载游戏资源
function WhiteResManager:gamePreLoad(progressCallback, readyCallback)
self.loaded = true
local totalCount = #GAME_RES_WHITE_LIST
local readyCount = 0
local progress = 0
self.progressCallback = progressCallback
self.readyCallback = readyCallback
local function preloadRes(resPath)
ResourceManager:loadOriginAssetAsync(resPath, GConst.TYPEOF_UNITY_CLASS.OBJECT, function(assetsPath, asset)
readyCount = readyCount + 1
progress = readyCount / totalCount
if self.progressCallback then
self.progressCallback(progress)
end
if readyCount == totalCount then
if self.readyCallback then
self.readyCallback()
end
self.progressCallback = nil
self.readyCallback = nil
end
end)
end
for _, resPath in ipairs(GAME_RES_WHITE_LIST) do
preloadRes(resPath)
end
end
function WhiteResManager:clearCallback()
self.progressCallback = nil
self.readyCallback = nil
end
function WhiteResManager:isLoaded()
return self.loaded
end
return WhiteResManager