public virtual T LoadAsset <T>(string bundleName, string assetName, out Asset asset) where T : UnityEngine.Object { asset = DLCManager.LoadAsset <T>(bundleName, assetName); if (asset == null) { return(null); } return(asset.Object as T); }
private T GetResWithCache(string bundle, string name, ObjectRegister <T> cache, bool logError = true) { if (name.IsInv()) { return(null); } if (cache.ContainsKey(name)) { return(cache[name]); } else { DLCManager.IsNextLogError = logError; var asset = DLCManager.LoadAsset <T>(bundle, name); if (asset == null) { return(null); } T retGO = asset.Object as T; if (retGO == null) { if (logError) { CLog.Error("no this res in bundle {0}, name = {1}", bundle, name); } } else { if (!cache.ContainsKey(retGO.name)) { cache.Add(retGO); } else { cache[retGO.name] = retGO; } } return(retGO); } }