コード例 #1
0
    private static void CreateAssetList(string assetBundleFullPath)
    {
        EditorUtility.DisplayProgressBar("CreateAssetsList", "progress: ", 0);
        //读取所有文件,并创建md5文件
        HotUpdateAssetsList hotUpdateAssetsList = new HotUpdateAssetsList();
        DirectoryInfo       directoryInfo       = new DirectoryInfo(assetBundleFullPath);

        FileInfo[] allAsset = directoryInfo.GetFiles();
        for (int i = 0; i < allAsset.Length; i++)
        {
            EditorUtility.DisplayProgressBar("CreateAssetsList", "progress: ", 1f * i / allAsset.Length);
            FileInfo fileInfo          = allAsset[i];
            string   fullName          = fileInfo.FullName.Replace("\\", "/");
            string   rootDirectoryPath = assetBundleFullPath.Replace("\\", "/");
            string   assetName         = fullName.Substring(rootDirectoryPath.Length + 1);
            if (assetName == assetListName)
            {
                continue;
            }
            if (assetName.Split('.').Length > 0)
            {
                assetName = assetName.Split('.')[0];
            }
            //StreamReader fileStream = fileInfo.OpenText();
            //string fileStr = fileStream.ReadToEnd();
            //fileStream.Close();
            string             md5 = MD5Builder.BuildMD5(fileInfo.FullName);
            HotUpdateAssetItem hotUpdateAssetItem = new HotUpdateAssetItem(assetName, md5);
            hotUpdateAssetsList.assetList.Add(hotUpdateAssetItem);
        }
        EditorUtility.ClearProgressBar();
        EditorUtility.DisplayProgressBar("Write \"CreateAssetsList to file\" ", "progress: ", 0);
        string assetListJsonStr = JsonUtility.ToJson(hotUpdateAssetsList);
        string assetListPath    = Path.Combine(assetBundleFullPath, assetListName);

        File.WriteAllText(assetListPath, assetListJsonStr);
        EditorUtility.ClearProgressBar();
    }
コード例 #2
0
    public override bool IsAssetRight()
    {
        string assetMD5 = MD5Builder.BuildMD5(asset);

        return(string.Compare(assetMD5, this.md5) == 0);
    }