Exemple #1
0
    /// <summary>
    /// 生成文件
    /// </summary>
    /// <param name="abManif"></param>
    private static void GenFile(AssetBundleManifest abManif)
    {
        string filePath = ABSettings.AssetBundleCompareFilePath();

        FileStream   fs            = new FileStream(filePath, FileMode.Create);
        StreamWriter mStreamWriter = new StreamWriter(fs, System.Text.Encoding.UTF8);

        ABHashCollection abHashCollection = new ABHashCollection();
        ABHashInfo       abHashInfo       = null;

        string[] abs = abManif.GetAllAssetBundles();
        for (int i = 0; i < abs.Length; i++)
        {
            abHashInfo      = new ABHashInfo();
            abHashInfo.ab   = abs[i];
            abHashInfo.hash = abManif.GetAssetBundleHash(abs[i]).ToString();
            abHashCollection.abHashList.Add(abHashInfo);
        }

        string jsonStr = JsonUtility.ToJson(abHashCollection);

        ABUtil.Log("Gen Json Success: " + jsonStr);
        mStreamWriter.Write(jsonStr);

        mStreamWriter.Close();
        fs.Close();
    }
Exemple #2
0
 private void BuildAB()
 {
     GUILayout.Label("Build Asset Bundle");
     GUILayout.Label("ABPath: " + ABSettings.AssetBundleBuildPath());
     GUILayout.Label("ABVersion: " + mVersion);
     GUILayout.Label("ABPlatform: " + mBuildPlatform);
     SetBtn("Builde", ABToolSet.BuildAllAssetBundles);
 }
Exemple #3
0
 /// <summary>
 /// 删除AssetBundle
 /// </summary>
 public static void RemoveAssetBundle()
 {
     try
     {
         Directory.Delete(ABSettings.AssetBundleFetchPath(), true);
         Directory.CreateDirectory(ABSettings.AssetBundleFetchPath());
     }
     catch (Exception e) {
         ABUtil.Log(e.Message);
     }
     ABUtil.Log("remove asset bundle success");
 }
 protected internal ABSettings InitialSetup(ABSettings createdObj)
 {
     if (createdObj == null)
     {
         throw new System.NullReferenceException("Settings is null");
     }
     createdObj.Version        = "1";
     createdObj.BuildPath      = $"{Application.dataPath}/{ABNames.Data}/Builds";
     createdObj.LocalLoadPath  = $"{Application.persistentDataPath}/{ABNames.Data}";
     createdObj.RemoteLoadPath = $"http://localhost/{ABNames.Data}";
     return(createdObj);
 }
Exemple #5
0
    /// <summary>
    /// 删除对比文件
    /// </summary>
    public static void RemoveLocalCompareFile()
    {
        string filePath = ABSettings.LocalCompareFilePath();

        try
        {
            File.Delete(filePath);
            ABUtil.Log("Delete AB Compare File Success");
        }
        catch (Exception e) {
            ABUtil.Log(e.Message);
        }
    }
Exemple #6
0
    /// <summary>
    /// 生成Json对比文件
    /// </summary>
    public static void GenABCompareFile()
    {
        string assetBundlePath = ABSettings.FolderAssetBundleFetchPath();

        AssetBundle assetBundle = AssetBundle.LoadFromFile(assetBundlePath);

        if (assetBundle == null)
        {
            ABUtil.Log("Failed to load AssetBundle!");
            return;
        }

        AssetBundleManifest abManif = assetBundle.LoadAsset("AssetBundleManifest") as AssetBundleManifest;

        GenFile(abManif);
        assetBundle.Unload(false);
    }
        internal ABSettings Create()
        {
            if (Settings != null)
            {
                return(Settings);
            }
            else
            {
                ABSettings settings = ScriptableObject.CreateInstance <ABSettings>();
                if (!Directory.Exists(ABPaths.SettingsDirectoryPath))
                {
                    AssetDatabase.CreateFolder(ABPaths.MainDirecctoryPath, ABNames.Settings);
                }
                AssetDatabase.CreateAsset(settings, ABPaths.SettingsFilePath);

                return(InitialSetup(settings));
            }
        }
Exemple #8
0
    /// <summary>
    /// 读取本地Local文件的比较文件
    /// </summary>
    public static void ReadABCompareFile()
    {
        ABHashCollection abHashCollection = new ABHashCollection();
        string           filePath         = ABSettings.LocalCompareFilePath();

        try
        {
            FileStream   fs           = new FileStream(filePath, FileMode.Open);
            StreamReader streamReader = new StreamReader(fs);

            string jsonStr = streamReader.ReadToEnd();
            ABUtil.Log("read jsonStr: " + jsonStr);
            streamReader.Close();
            fs.Close();
        }
        catch (Exception e)
        {
            ABUtil.Log(e.Message);
        }
    }
Exemple #9
0
 /// <summary>
 /// 打包
 /// </summary>
 public static void BuildAllAssetBundles()
 {
     BuildPipeline.BuildAssetBundles(ABSettings.AssetBundleBuildPath(), BuildAssetBundleOptions.None, ABSettings.GetBuildTarget());
     GenABCompareFile();
     ClearABCache();
 }