public static string ConvertResToABPath(string path) { path = string.Format(AssetBase.basePath, path.Replace("\\", "/")); string assetBundleName = AssetBundleAssetRecord.GetAssetBundleName(path); return(assetBundleName); }
public void UnloadAsset(string path) { path = path.Replace("\\", "/"); path = string.Format(basePath, path.Replace("\\", "/")); string assetBundleName = AssetBundleAssetRecord.GetAssetBundleName(path); ABsManager.Unload(assetBundleName); }
public static void Destroy() { if (m_instance != null) { if (m_instance.m_dicAssetRecord != null) { m_instance.m_dicAssetRecord.Clear(); m_instance = null; } } }
public AsyncABLoader(string path) { orgPath = path; path = string.Format("assets/resources/{0}", path.Replace("\\", "/")); this.path = path; assetBundleName = AssetBundleAssetRecord.GetAssetBundleName(path); if (assetBundleName != null && assetBundleName != "") { this.assetBundleName = assetBundleName.ToLower(); AssetScene.Current.StartCoroutine(ABsManager.LoadAsync(assetBundleName)); } }
public GameObject Generate() { string assetName = string.Format("{0}", AssetBundleAssetRecord.GetAssetName(path)); UnityEngine.Object obj = m_instance.loadedAssetBundles[assetBundleName].GetRes(assetName); if (obj != null) { GameObject go = GameObject.Instantiate(obj) as GameObject; AssetBundleUser.GetInstance().SetBundle(assetBundleName, go); return(go); } return(null); }
public Object LoadAsset(string path) { Object obj = null; path = string.Format(basePath, path.Replace("\\", "/")); string assetBundleName = AssetBundleAssetRecord.GetAssetBundleName(path); if (!string.IsNullOrEmpty(assetBundleName)) { string assetName = string.Format("{0}", AssetBundleAssetRecord.GetAssetName(path)); ABsManager.Load(assetBundleName); obj = ABsManager.Instance.loadedAssetBundles[assetBundleName].GetRes(assetName); } return(obj); }
public IEnumerator LoadAssetAsync(string path, System.Action <Object> callback) { path = string.Format(basePath, path.Replace("\\", "/")); string assetBundleName = AssetBundleAssetRecord.GetAssetBundleName(path); ObjectRequest or = FindObjectRequest(path); if (or == null) { or = new ObjectRequest(path, callback); ors.Add(or); yield return(ABsManager.LoadAsync(assetBundleName)); string assetName = string.Format("{0}", AssetBundleAssetRecord.GetAssetName(path)); //yield return ABsManager.Find(assetBundleName).LoadFromMemeroyAsync(); Object obj = ABsManager.Find(assetBundleName).GetRes(assetName); if (or == null) { Debug.LogError("or is removed"); } ; if (or.callbacks != null) { Debug.Log("or callback count = " + or.callbacks.Count + " " + or.path); foreach (var k in or.callbacks) { k(obj); } or.callbacks.Clear(); } ors.Remove(or); } else { or.callbacks.Add(callback); } //if (callback != null) callback(obj); }
void OnDestroy() { AssetBundleAssetRecord.Destroy(); m_instance = null; inited = false; }