public UnityEngine.Object GetPrefab(string realName)
        {
            realName = EngineURLConst.GetResource(realName);
            UnityEngine.Object cacheObj = resourceCache.GetPrefab(realName);
            if (cacheObj != null)
            {
                return(cacheObj);
            }

            return(null);
        }
        public IEnumerator DownLoadBundle(string realName, bool temporary)
        {
            realName = EngineURLConst.GetResource(realName);
            UnityEngine.Object gobj = null;
            string[]           dps  = mainfest.GetAllDependencies(realName);
            for (int i = 0; i < dps.Length; i++)
            {
                if (string.IsNullOrEmpty(dps[i]))
                {
                    continue;
                }
                string dUrl = AssetBundles.getNewestBundlePath(dps[i]);
                if (resourceCache.IsDpsLoaded(dUrl) == false)
                {
                    WWW dwww = new WWW(dUrl);
                    yield return(dwww);

                    resourceCache.AddDps(dUrl, dwww.assetBundle);
                }
            }
            WWW www = new WWW(AssetBundles.getNewestBundlePath(realName));

            yield return(www);

            AssetBundle ab = null;

            if (!string.IsNullOrEmpty(www.error))
            {
                MyLogger.Log(www.error);
            }
            else
            {
                ab = www.assetBundle;
                ab.LoadAllAssets();
                gobj = ab.LoadAsset(realName);
                if (temporary)
                {
                    resourceCache.storeTemporaryCache(realName, gobj);
                }
                else
                {
                    resourceCache.storePermanentCache(realName, gobj);
                }

                ab.Unload(false);
            }
        }