Beispiel #1
0
        private void OnDisposeBundleCache()
        {
            GameResourceLoadManager loadManager = GameResourceLoadManager.GetInstance();

            if (loadManager == null)
            {
                return;
            }

            if (mainMenuCacheNameList != null)
            {
                for (int i = 0; i < mainMenuCacheNameList.Count; i++)
                {
                    loadManager.UnloadBundle(mainMenuCacheNameList[i]);
                }
                mainMenuCacheNameList.Clear();
            }

            if (mainMenuCacheIdList != null)
            {
                for (int i = 0; i < mainMenuCacheIdList.Count; i++)
                {
                    loadManager.UnloadBundle(mainMenuCacheIdList[i]);
                }
                mainMenuCacheIdList.Clear();
            }

            if (mainMenuCacheObjDic != null)
            {
                var keys = new List <string>(mainMenuCacheObjDic.Keys);
                for (int i = 0; i < keys.Count; i++)
                {
                    mainMenuCacheObjDic[keys[i]] = null;
                }
                mainMenuCacheObjDic.Clear();
            }

            GC.Collect();
        }