Beispiel #1
0
        private IEnumerator loadFile()
        {
            LinkedListNode <LoadAssetStruct> node = waitingLoad.First;
            LoadAssetStruct assetStruct           = node.Value;

            waitingLoad.RemoveFirst();
            WWW www = setLoadingFile(assetStruct.fileId, assetStruct.filePath);

            yield return(www);

            loadCompleted(assetStruct);
        }
Beispiel #2
0
        public void getText(string filePath, string fileId, Action <string, string> func)
        {
            LoadAssetStruct assetStruct = new LoadAssetStruct();

            assetStruct.fileId        = fileId;
            assetStruct.filePath      = filePath;
            assetStruct.fileType      = AssetType.xml;
            assetStruct.stringkAction = func;

            waitingLoad.AddLast(assetStruct);

            if (loadingProgress.Count < Tips.MAX_LOAD_COUNT)
            {
                StartCoroutine(loadFile());
            }
        }
Beispiel #3
0
        public void getFile(string filePath, string fileId, Action <string, byte[]> func)
        {
            LoadAssetStruct assetStruct = new LoadAssetStruct();

            assetStruct.fileId      = fileId;
            assetStruct.filePath    = filePath;
            assetStruct.fileType    = AssetType.bytes;
            assetStruct.bytekAction = func;

            //Debug.Log("111  ------ " + assetStruct.fileId);
            waitingLoad.AddLast(assetStruct);

            if (loadingProgress.Count < Tips.MAX_LOAD_COUNT)
            {
                StartCoroutine(loadFile());
            }
        }
Beispiel #4
0
        private void loadCompleted(LoadAssetStruct assetStruct)
        {
            if (waitingLoad.Count > 0)
            {
                StartCoroutine(loadFile());
            }
            WWW www = loadingProgress[assetStruct.fileId];

            loadingProgress.Remove(assetStruct.fileId);
            string error = www.error;

            if (error != null)
            {
                if (!loadFinished.ContainsKey(assetStruct.fileId))
                {
                    loadFinished.Add(assetStruct.fileId, false);
                }
            }
            else
            {
                if (!loadFinished.ContainsKey(assetStruct.fileId))
                {
                    loadFinished.Add(assetStruct.fileId, true);
                }
            }

            switch (assetStruct.fileType)
            {
            case AssetType.bootstrap:
                break;

            case AssetType.manifest:
                break;

            case AssetType.lesson_list:
                break;

            case AssetType.lesson:
                break;

            case AssetType.assetBundle:
                break;

            case AssetType.texture2D:
                break;

            case AssetType.text:
                break;

            case AssetType.audioClip:
                break;

            case AssetType.video:
                break;

            case AssetType.scene:
                break;

            case AssetType.bytes:
                byte[] bytes = null;
                if (error == null)
                {
                    bytes = www.bytes;
                }

                www.Dispose();

                Action <string, byte[]> bytekAction = assetStruct.bytekAction;
                if (bytekAction != null)
                {
                    bytekAction(assetStruct.fileId, bytes);
                }
                break;

            case AssetType.xml:
                string xml = null;
                if (error == null)
                {
                    xml = www.text;
                }
                www.Dispose();

                Action <string, string> stringAction = assetStruct.stringkAction;
                if (stringAction != null)
                {
                    stringAction(assetStruct.fileId, xml);
                }
                break;

            default:
                break;
            }
        }