local WhiteResManager = {} ---- 游戏资源白名单 local GAME_RES_WHITE_LIST = { -- ui GConst.ATLAS_PATH.COMMON, -- icon GConst.ATLAS_PATH.ICON_SKILL, GConst.ATLAS_PATH.ICON_ITEM, GConst.ATLAS_PATH.ICON_EQUIP, GConst.ATLAS_PATH.ICON_AVATAR, GConst.ATLAS_PATH.ICON_RUNE, GConst.ATLAS_PATH.ICON_LEGACY, -- hero GConst.SPINE_ASSET_PATH.P0001, GConst.SPINE_ASSET_PATH.P0002, GConst.SPINE_ASSET_PATH.P0003, GConst.SPINE_ASSET_PATH.P0004, -- 战斗伤害字体 "assets/arts/fonts/tmpfonts/battle/font_battle_sdf.asset", } ---- 预加载游戏资源 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