/// <summary> ///卸载 /// </summary> public void AddUnLoadAsset(UnityLODGroupFast fast) { int id = fast.GetInstanceID(); LoadAssetBase loadAsset = null; fast.SetEnableApply(); if (!m_LoadAsset.TryGetValue(id, out loadAsset)) { return; } switch (loadAsset.State) { case Loadm_State.Loading: m_LoadCount--; loadAsset.UnLoad(); break; case Loadm_State.Instantiated: if (!m_ImmediateUnLoad) //不等待 { loadAsset.UnLoad(); break; } m_UnLoadCount++; loadAsset.ReadyState = Loadm_State.Unloaded; break; case Loadm_State.Unloaded: case Loadm_State.UnLoading: break; } }
/// <summary> ///刷新状态 /// </summary> public void Refesh() { /* * if(m_LoadCount < 1 && m_UnLoadCount < 1)//gc * { * if (UnLoadCount > m_Refesh) * { * UnLoadCount = 0; * Resources.UnloadUnusedAssets(); * } * return; * }*/ if (!m_ImmediateUnLoad || m_LoadCount > 0 || m_UnLoadCount < 1) //是否等待加载完成 { return; } foreach (var value in m_LoadAsset) { LoadAssetBase loadAsset = value.Value; if (loadAsset.ReadyState == Loadm_State.Unloaded)//卸载标记要卸载的 { loadAsset.ReadyState = Loadm_State.None; loadAsset.UnLoad(); m_UnLoadCount--; } } }