Пример #1
0
        private void CompareFile()
        {
            string fileFolder = AssetBundleUtility.GetFileFolder();

            if (!Directory.Exists(fileFolder))
            {
                return;
            }
            DirectoryInfo directoryInfo = new DirectoryInfo(fileFolder);

            FileInfo[] fileInfos = directoryInfo.GetFiles("*.*", SearchOption.AllDirectories);
            foreach (FileInfo paramInfo in fileInfos)
            {
                string filePath = paramInfo.FullName.Replace("\\", "/");
                if (filePath == AssetBundleUtility.GetFileFolder() + "/" + AssetBundleUtility.fileName)
                {
                    continue;
                }
                string md5 = AssetBundleUtility.GetMd5(filePath);
                if (newDic.ContainsKey(md5))
                {
                    newDic.Remove(md5);//don't need update
                }
                else
                {
                    File.Delete(filePath);//clean old file
                }
            }
        }
Пример #2
0
 void GetFile()
 {
     progress = (float)index / lines.Length;
     if (lines.Length > index)
     {
         if (string.IsNullOrEmpty(lines[index]))
         {
             index++; GetFile();
         }
         else
         {
             string[] keyValue = lines[index].Split('|');
             string   fileName = keyValue[1].Trim();
             string   filePath = AssetBundleUtility.fileFolderName + "/" + fileName;
             fileOutPutPath = AssetBundleUtility.GetFileFolder() + "/" + fileName;
             IOManager.Instance.ReadFileFromStreamingAssetsPath(filePath, GetFileFinish);
         }
     }
     else
     {
         string path = AssetBundleUtility.fileFolderName + "/" + AssetBundleUtility.fileName;
         IOManager.Instance.WriteFileToPersistentDataPath(path, fileInfoBytes);
         handler();
     }
 }
Пример #3
0
        public static void Clean()
        {
            string path = AssetBundleUtility.GetFileFolder();

            if (Directory.Exists(path))
            {
                Directory.Delete(path, true);
            }
            Debug.Log("clean finish");
        }
Пример #4
0
        private void Finish()//when finish downloading whole files
        {
            string filePath  = AssetBundleUtility.GetFileFolder() + "/" + AssetBundleUtility.fileName;
            string directory = Path.GetDirectoryName(filePath);

            if (!Directory.Exists(directory))
            {
                Directory.CreateDirectory(directory);
            }
            File.WriteAllBytes(filePath, fileInfoBytes);
            AssetBundleMgr.Init();
            finishHandler();
            Dispose();
        }
Пример #5
0
        public void Init(Action param)
        {
            handler = param;
            string filePath = AssetBundleUtility.GetFileFolder() + "/" + AssetBundleUtility.fileName;

            if (File.Exists(filePath))
            {
                handler();
            }
            else
            {
                DeleteFileFolder();
                GetFileInfo();
            }
        }
Пример #6
0
        void DeleteFileFolder()
        {
            string tempD = AssetBundleUtility.GetFileFolder();

            //if (!Directory.Exists(tempD))
            //    return;
            //DirectoryInfo tempDInfo = new DirectoryInfo(tempD);
            //FileInfo[] tempFInfos = tempDInfo.GetFiles("*.*", SearchOption.AllDirectories);
            //for (int i = 0; i < tempFInfos.Length; i++)
            //    if (File.Exists(tempFInfos[i].Name))
            //        File.Delete(tempFInfos[i].Name);
            if (Directory.Exists(tempD))
            {
                Directory.Delete(tempD, true);
            }
        }
Пример #7
0
        private void FinishDownloadFile(WWW paramWWW)
        {
            string filePath  = AssetBundleUtility.GetFileFolder() + "/" + updateList[0];
            string directory = Path.GetDirectoryName(filePath);

            if (!Directory.Exists(directory))
            {
                Directory.CreateDirectory(directory);
            }
            File.WriteAllBytes(filePath, paramWWW.bytes);
            updateList.RemoveAt(0);
            DownloadFile();
            if (updateList != null)
            {
                progress = (totalCount - updateList.Count) / totalCount;
            }
        }