Ejemplo n.º 1
0
        // --------------------------------------------------------------------------------------------------------
        public LoadFile(AssetRecord correlateRecord,
                        LoadBehaviour behaviour,
                        bool isCacheToRecord           = false,
                        Action <object> onloadingEnd   = null,
                        Action <LoadFile> onFileLoaded = null)
        {
            CorrelateRecord   = correlateRecord;
            _Behaviour        = behaviour;
            _IsCacheToRecord  = isCacheToRecord;
            this.onloadingEnd = onloadingEnd;
            this.onFileLoaded = onFileLoaded;

            switch (behaviour)
            {
            case LoadBehaviour.ContentLoadFromLoacal_LoadBundleFile:
            case LoadBehaviour.ContentLoadFromLoacal_WWW:
                _LoadPathType = FileAddressType.LOCAL;
                break;

            case LoadBehaviour.ContentLoadFromServer_WWW:
                _LoadPathType = FileAddressType.SERVER;
                break;

            case LoadBehaviour.DownloadFile_ResumeBrokenTransfer_HttpWebRequest:
            case LoadBehaviour.DownloadFile_WWW:
                _LoadPathType = FileAddressType.SERVER;
                break;
            }
        }
Ejemplo n.º 2
0
 private void LoadFiles(List <AssetRecord> list, LoadBehaviour behaviour, bool isCacheToRecord, Action onAllLoaded)
 {
     if (list.Count == 0 && onAllLoaded != null)
     {
         onAllLoaded();
     }
     else
     {
         int count = list.Count;
         monitor.CaculateInit(count);
         var it = list.GetEnumerator();
         while (it.MoveNext())
         {
             AssetRecord assetRecord = it.Current;
             LoadFile    loadFile    = assetRecord.GetLoadFile(behaviour, isCacheToRecord, null, (loadedFile) =>
             {
                 if (!loadedFile.IsLoadSuccess)
                 {
                     isAllFilesExist = false;
                 }
                 count--;
                 monitor.Refresh(loadedFile);
                 if (count == 0 && onAllLoaded != null)
                 {
                     onAllLoaded();
                 }
             });
             LoadFileController.Instance.Load(loadFile);
         }
     }
 }
Ejemplo n.º 3
0
    // -----------------------------------------------------------------------------------------------------------------------------------
    public void Load(RuntimeAssetType type, string indexName,
                     bool isCacheToRecord = false, Action <object> OnAssetLoaded = null)
    {
        if (!IsInitialized)
        {
            Debug.Log("尚未初始化!");
            return;
        }

        AssetRecord record = RecordsInfo.GetAssetRecord(type, indexName);

        if (record != null)
        {
            //LoadMethod loadMethod = (type == RuntimeAssetType.BUNDLE_PREFAB ||
            //                         type == RuntimeAssetType.BUNDLE_SCENE) ?
            //                         LoadMethod.BUNDLE_FILE : LoadMethod.WWW;

            //LoadFile loadFile = record.GetLoadFile(FileAddressType.LOCAL, isCacheToRecord,
            //                                       loadMethod, FileAddressType.NULL, OnAssetLoaded);

            LoadBehaviour behaviour = (type == RuntimeAssetType.BUNDLE_PREFAB ||
                                       type == RuntimeAssetType.BUNDLE_SCENE) ?
                                      LoadBehaviour.ContentLoadFromLoacal_LoadBundleFile :
                                      LoadBehaviour.ContentLoadFromLoacal_WWW;

            LoadFile loadFile = record.GetLoadFile(behaviour, isCacheToRecord, OnAssetLoaded);
            LoadFileController.Instance.Load(loadFile);
        }
        else
        {
            Debug.Log(indexName + "未找到此资源!!!!!");
        }
    }
Ejemplo n.º 4
0
        // ---------------------------------------------------------------------------------

        //public LoadFile GetLoadFile(FileAddressType loadPathType, Action<LoadFile> onFileLoaded)
        //{
        //    return base.GetLoadFile(loadPathType, false, LoadMethod.WWW, FileAddressType.NULL, (obj)=>
        //    {
        //        WWW www = obj as WWW;
        //        FileHelper.ReadFromBinaryArray(www.bytes, ReadByBinaryReader);

        //    }, onFileLoaded);
        //}

        public LoadFile GetLoadFile(LoadBehaviour behaviour, Action <LoadFile> onFileLoaded)
        {
            return(base.GetLoadFile(behaviour, false, (obj) =>
            {
                WWW www = obj as WWW;
                FileHelper.ReadFromBinaryArray(www.bytes, ReadByBinaryReader);
            }, onFileLoaded));
        }