public AssetBundleLoader(string bundleName) { status = eLoadStatus.idle; this.bundleName = bundleName; path = ResourceSetting.GetBundlePathByBundleName(bundleName); resourceModule = Mango.GetModule <ResourceModule>(); taskModule = Mango.GetModule <TaskModule>(); }
private void LoadedCallback(Action <AssetBundle> onCacheFinished) { status = eLoadStatus.Loaded; if (onCacheFinished != null) { onCacheFinished(bundle); } }
private bool CheckLoadStatus() { if (status == eLoadStatus.Loading) { return(false); } status = eLoadStatus.Loading; return(true); }
public void UnLoad() { if (status != eLoadStatus.Loaded) { Debug.LogError("asset尚未完成加载!"); return; } bundleLoader.UnLoad(); status = eLoadStatus.Release; asset = null; }
private IEnumerator LoadAsset(Action <UnityEngine.Object> onCacheFinished) { AssetBundle bundle = bundleLoader.Load(); AssetBundleRequest request = bundle.LoadAssetAsync(resID.assetName); //TODO 加载相应的资源 yield return(request); asset = request.asset; status = eLoadStatus.Loaded; if (onCacheFinished != null) { onCacheFinished(asset); } }
public UnityEngine.Object Load() { if (!CheckLoadStatus()) { return(null); } if (asset) { return(asset); } if (bundleLoader == null) { string bundleName = ResourceSetting.GetBundleName(resID); bundleLoader = resourceModule.GetBundleLoader(bundleName); } AssetBundle bundle = bundleLoader.Load(); asset = bundle.LoadAsset(resID.assetName); status = eLoadStatus.Loaded; return(asset); }
public AssetLoader(int id) { status = eLoadStatus.idle; resID = ResID.New(id); resourceModule = Mango.GetModule <ResourceModule>(); }