/// <summary> /// Disposes the reference. /// </summary> private void Dispose() { Debug.LogWarningFormat("AssetBundleReference.Dispose(): {0}", m_AssetBundleName); if (References.ContainsKey(m_AssetBundleName)) { References.Remove(m_AssetBundleName); m_AssetBundleName = null; } if (m_Coroutine != null) { if (AssetBundleLoader.Instance) { AssetBundleLoader.Instance.StopCoroutine(m_Coroutine); } m_Coroutine = null; } if (m_AssetBundle != null) { m_AssetBundle.Unload(false); m_AssetBundle = null; } if (m_Adaptor != null) { m_Adaptor.Dispose(); m_Adaptor = null; } m_Error = null; m_KeepWaiting = false; }
public void Dispose() { Debug.Log("LowDiskSpaceAssetBundleAdaptor-> Dispose", DebugContext.SagoApp); if (m_Adaptor != null) { m_Adaptor.Dispose(); m_Adaptor = null; } if (m_LowDiskSpaceAssetBundleAdaptors.Contains(this)) { m_LowDiskSpaceAssetBundleAdaptors.Remove(this); } }
/// <summary> /// <see cref="AssetBundleReference" /> /// </summary> private IEnumerator AssetBundleReferenceImpl(string assetBundleName) { Retain(); if (CreateAdaptor == null) { m_Error = string.Format("Could not create adaptor: not implemented."); m_KeepWaiting = false; m_Progress = -1; Release(); yield break; } m_Adaptor = CreateAdaptor(assetBundleName); if (m_Adaptor == null) { m_Error = string.Format("Could not create adaptor for asset bundle: {0}", assetBundleName); m_KeepWaiting = false; m_Progress = -1; Release(); yield break; } while (!m_Adaptor.isDone) { m_Progress = m_Adaptor.progress; yield return(null); } if (!string.IsNullOrEmpty(m_Adaptor.error)) { m_Error = m_Adaptor.error; m_Adaptor.Dispose(); m_Adaptor = null; m_KeepWaiting = false; m_Progress = -1; Release(); yield break; } m_AssetBundle = m_Adaptor.assetBundle; m_KeepWaiting = false; m_Progress = 1; Release(); yield break; }