void OnGUI() { scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.Width(500), GUILayout.Height(400)); GUILayout.BeginVertical(); GUILayout.BeginHorizontal(); GUILayout.Label("PersistanePath:"); GUILayout.TextField(Application.persistentDataPath); GUILayout.EndHorizontal(); if (GUILayout.Button("Go To Persistance")) { EditorUtility.RevealInFinder(Application.persistentDataPath); } DrawMenu(); DrawAssetBundleList(); isEnableGenerateClass = GUILayout.Toggle(isEnableGenerateClass, "auto generate class"); GUILayout.BeginHorizontal(); GUILayout.Label("ResVersion:"); resVersion = GUILayout.TextField(resVersion); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Project Tag:"); projectTag = GUILayout.TextField(projectTag); GUILayout.EndHorizontal(); if (GUILayout.Button("1.Gen Res Tree File")) { AssetBundleExporter.BuildDataTable(); } if (GUILayout.Button("2.Build")) { AssetBundleExporter.BuildDataTable(); BuildWithTarget(EditorUserBuildSettings.activeBuildTarget); } if (GUILayout.Button("ForceClear")) { ForceClear(); } GUILayout.EndVertical(); GUILayout.Space(50); EditorGUILayout.EndScrollView(); }
public static void BuildAssetBundles(BuildTarget buildTarget, string inputProjectTag) { if (string.IsNullOrEmpty(inputProjectTag)) { projectTag = "putaogame"; } else { projectTag = inputProjectTag; } SetProjectTag(); // Choose the output path according to the build target. string outputPath = Path.Combine(QAssetBundleTool.AssetBundlesOutputPath, GetPlatformName()); outputPath = outputPath + "/" + projectTag; IOUtils.CreateDirIfNotExists(outputPath); BuildPipeline.BuildAssetBundles(outputPath, BuildAssetBundleOptions.ChunkBasedCompression, buildTarget); List <string> finalzips = PackZips(outputPath); List <string> finalFiles = PackQFiles(outputPath); GenerateVersionConfig(outputPath, finalzips, finalFiles); string finalDir = Application.streamingAssetsPath + "/AssetBundles/" + GetPlatformName() + "/" + projectTag; IOUtils.DeleteDirIfExists(finalDir); IOUtils.CreateDirIfNotExists(finalDir); FileUtil.ReplaceDirectory(outputPath, finalDir); AssetBundleExporter.BuildDataTable(); AssetDatabase.Refresh(); }