Пример #1
0
    private static void UnLoadAllAssetBundle()
    {
        ClearPrefabRes();
        ClearAnimatorControllerRes();
        ClearFBXRes();
        ClearAnimationClipRes();
        ClearMaterialRes();
        ClearUIRes();
        ClearTexutreRes();
        ClearAudioRes();

        foreach (int id in m_LoadedResourcePackage)
        {
            ResourcePackage pkg = AllocResourcePackage(id);
            if (pkg.AssetBundleInstance)
            {
                pkg.AssetBundleInstance.Unload(true);
                pkg.AssetBundleInstance = null;
            }
        }

        ResNode.ClearWhenGameEnd();
        m_ResourcePackageRequestTable.Clear();
        m_NeedToUnLoadResourcePackageTable.Clear();
        m_ResWaitingForCallBack.Clear();

        m_LoadedResourcePackage.Clear();
        m_NeedToUnLoadList.Clear();
        m_LoadingAssetList.Clear();
        m_ReadyForUpLoadAssetsAsyncRequestTable.Clear();
        m_ResourcePackageWatingForCallBack.Clear();
        m_ProcessingAssetsFileAsyncRequestList.Clear();
        m_WaitForUpLoadAssetsFileAsyncRequestSet.Clear();
        currUpLoad_AssetsFile_AsyncRequestClipTime = 0.0f;
        ClearAssetFile();
    }