protected void Pop(ResourceManager.Type type) { if (m_AssetBundles.ContainsKey(type)) { m_AssetBundles[type].Pop(); } }
protected AssetBundle Get(ResourceManager.Type type) { if (m_AssetBundles.ContainsKey(type)) { return(m_AssetBundles[type].Peek()); } return(null); }
protected void Push(ResourceManager.Type type, AssetBundle asset) { if (asset != null) { if (!m_AssetBundles.ContainsKey(type)) { m_AssetBundles.Add(type, new Stack <AssetBundle>()); } m_AssetBundles[type].Push(asset); } }
protected IEnumerator LoadAssetBundleAsync(ResourceManager.Type type, string assetPath, System.Action callback) { AssetBundle assetBundle = null; string file = Application.persistentDataPath + "/" + assetPath; //Util.AppContentPath() + assetPath; if (true) { // WWW www = new WWW(file); // yield return www; AssetBundleCreateRequest assetRequest = AssetBundle.LoadFromFileAsync(file); if (!assetRequest.isDone) { // AssetBundleCreateRequest assetRequest = AssetBundle.LoadFromMemoryAsync(www.bytes); yield return(assetRequest); } assetBundle = assetRequest.assetBundle; } else { if (File.Exists(file)) { FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read); if (fileStream.Length != 0) { byte[] bufferData = new byte[fileStream.Length]; fileStream.Read(bufferData, 0, bufferData.Length); if (bufferData != null && bufferData.Length != 0) { AssetBundleCreateRequest assetRequest = AssetBundle.LoadFromMemoryAsync(bufferData); yield return(assetRequest); assetBundle = assetRequest.assetBundle; } } } } if (assetBundle != null) { this.Push(type, assetBundle); } if (callback != null) { callback(); } }