Esempio n. 1
0
 protected void Pop(ResourceManager.Type type)
 {
     if (m_AssetBundles.ContainsKey(type))
     {
         m_AssetBundles[type].Pop();
     }
 }
Esempio n. 2
0
 protected AssetBundle Get(ResourceManager.Type type)
 {
     if (m_AssetBundles.ContainsKey(type))
     {
         return(m_AssetBundles[type].Peek());
     }
     return(null);
 }
Esempio n. 3
0
 protected void Push(ResourceManager.Type type, AssetBundle asset)
 {
     if (asset != null)
     {
         if (!m_AssetBundles.ContainsKey(type))
         {
             m_AssetBundles.Add(type, new Stack <AssetBundle>());
         }
         m_AssetBundles[type].Push(asset);
     }
 }
Esempio n. 4
0
        protected IEnumerator LoadAssetBundleAsync(ResourceManager.Type type, string assetPath, System.Action callback)
        {
            AssetBundle assetBundle = null;
            string      file        = Application.persistentDataPath + "/" + assetPath; //Util.AppContentPath() + assetPath;

            if (true)
            {
                // WWW www = new WWW(file);
                // yield return www;
                AssetBundleCreateRequest assetRequest = AssetBundle.LoadFromFileAsync(file);
                if (!assetRequest.isDone)
                {
                    // AssetBundleCreateRequest assetRequest = AssetBundle.LoadFromMemoryAsync(www.bytes);
                    yield return(assetRequest);
                }
                assetBundle = assetRequest.assetBundle;
            }
            else
            {
                if (File.Exists(file))
                {
                    FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read);
                    if (fileStream.Length != 0)
                    {
                        byte[] bufferData = new byte[fileStream.Length];
                        fileStream.Read(bufferData, 0, bufferData.Length);

                        if (bufferData != null && bufferData.Length != 0)
                        {
                            AssetBundleCreateRequest assetRequest = AssetBundle.LoadFromMemoryAsync(bufferData);
                            yield return(assetRequest);

                            assetBundle = assetRequest.assetBundle;
                        }
                    }
                }
            }

            if (assetBundle != null)
            {
                this.Push(type, assetBundle);
            }

            if (callback != null)
            {
                callback();
            }
        }