static void PerformAndroidBuild() { //打ab CreateAssetBundles.BuildAllAssetBundles(); //打apk EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTarget.Android); BuildPipeline.BuildPlayer(GetScenePaths(), "Build/" + GetProjectName() + ".apk", BuildTarget.Android, AutoBuildOption); }
static UnityEditorStartup() { BuildPlayerWindow.RegisterBuildPlayerHandler( new System.Action <BuildPlayerOptions>(buildPlayerOptions => { CreateAssetBundles.BuildAllAssetBundles(); BuildPlayerWindow.DefaultBuildMethods.BuildPlayer(buildPlayerOptions); }) ); }
public static void ShowWindow() { AssetBundleWindow thisWindow = (AssetBundleWindow)EditorWindow.GetWindow(typeof(AssetBundleWindow)); thisWindow.title = "Bundle Creator"; ReadEditorPrefs(thisWindow); CreateAssetBundles.ReadBundleControlFile(Application.dataPath + thisWindow.exportLocation + CreateAssetBundles.bundleControlFileName, thisWindow.bundleVersions); CreateAssetBundles.ReadBundleContentsFile(Application.dataPath + thisWindow.exportLocation + CreateAssetBundles.bundleContentsFileName, thisWindow.bundleContents); thisWindow.ReadBundleFileSizes(); }
static void MakeAssetBundleAndroid() { CSObjectWrapEditor.Generator.ClearAll(); CSObjectWrapEditor.Generator.GenAll(); CreateAssetBundles.ClearLuaFiles(); CreateAssetBundles.CopyLuaFilesToRes(); AssetBundleGen.NamedAssetBundleName(); AssetBundleTool.CreateAndroidAssetBundle(); }
public static void BuildAndroidRelease() { PlayerSettings.Android.bundleVersionCode++; try { BuildPlatform(BuildTarget.Android, Scenes); } catch { PlayerSettings.Android.bundleVersionCode--; throw; } CreateAssetBundles.EnsureBuilt(); }
public static void BuildAndroidDebug() { string oldProductName = PlayerSettings.productName; string oldPackageName = PlayerSettings.applicationIdentifier; try { PlayerSettings.productName += " Debug"; PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, oldPackageName + ".Debug"); BuildPlatform(BuildTarget.Android, Scenes); } finally { PlayerSettings.productName = oldProductName; PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, oldPackageName); } CreateAssetBundles.EnsureBuilt(); }
protected void OnGUI() { GUILayout.Label("Generates all the asset bundles"); if (GUILayout.Button("Create Monsters Bundles")) { CreateAssetBundles.BuildAssetBundles(); } GUILayout.Label("Make sure that there are no other bundle files \n" + " in the Streaming Assets"); if (GUILayout.Button("Move Bundles to Folders")) { MoveMonsterBundlesToFolders(); } GUILayout.Label("Current Bundles in MonstersMod: " + curBundlesInMosntersMod); if (GUILayout.Button("GetAllBundles in MonstersMod")) { GetAllBundles(); } GUILayout.Space(10); GUILayout.Label("WARNING : this will delete all the bundle files\n" + "that are in the MonstersMod Folder :"); if (GUILayout.Button("Delete All Bundles in MonstersMod")) { DeleteAllBundlesInMonstersMod(); GetAllBundles(); } GUILayout.Space(20); GUILayout.Label("Set List of monsters to remove from the original"); _curMonstersToRemove = (MonstersToRemove)EditorGUILayout.ObjectField(_curMonstersToRemove, typeof(MonstersToRemove), true); GUILayout.Label("Select where to export the Monsters Mod"); if (GUILayout.Button("Export Monsters Folder", GUILayout.Height(50))) { ExportMonstersFiles(); } }
public static void BuildAll() { var scenes = Scenes; foreach (var platform in Constants.platforms) { DirUtils.RmBuild(platform); } foreach (var platform in Constants.platforms) { if (platform == BuildTarget.Android) { BuildAndroidRelease(); BuildAndroidDebug(); } else { BuildPlatform(platform, scenes); } } CreateAssetBundles.EnsureBuilt(); }
void OnGUI() { undoManager.CheckUndo(); GUILayout.Label("Export Settings", EditorStyles.boldLabel); assetBundleFolderLocation = EditorGUILayout.TextField("AssetBundles folder", assetBundleFolderLocation); GUILayout.Label("Application.dataPath "+ Application.dataPath, EditorStyles.label); exportLocation = EditorGUILayout.TextField("Export folder", exportLocation); bundleFileExtension = EditorGUILayout.TextField("Bundle file ext.", bundleFileExtension); setLowerCaseName = EditorGUILayout.Toggle("Names to lower case", setLowerCaseName); buildAssetBundleOptions = EditorGUILayout.BeginToggleGroup("BuildAssetBundleOptions", buildAssetBundleOptions); collectDependencies = EditorGUILayout.Toggle("CollectDependencies", collectDependencies); completeAssets = EditorGUILayout.Toggle("CompleteAssets", completeAssets); disableWriteTypeTree = EditorGUILayout.Toggle("DisableWriteTypeTree", disableWriteTypeTree); deterministicAssetBundle = EditorGUILayout.Toggle("DeterministicAssetBundle", deterministicAssetBundle); uncompressedAssetBundle = EditorGUILayout.Toggle("UncompressedAssetBundle", uncompressedAssetBundle); EditorGUILayout.EndToggleGroup(); optionalSettings = EditorGUILayout.BeginToggleGroup("Optional Settings", optionalSettings); buildTarget = (BuildTarget)EditorGUILayout.EnumPopup("Build Target", buildTarget); EditorGUILayout.EndToggleGroup(); undoManager.CheckDirty(); GUILayout.Label("Reset Settings", EditorStyles.boldLabel); if (GUILayout.Button("Reset")) { ClearPreferences(this); WriteEditorPrefs(this); CreateAssetBundles.ReadBundleControlFile(Application.dataPath + exportLocation + CreateAssetBundles.bundleControlFileName, bundleVersions); CreateAssetBundles.ReadBundleContentsFile(Application.dataPath + exportLocation + CreateAssetBundles.bundleContentsFileName, bundleContents); ReadBundleFileSizes(); } GUILayout.Label("Build", EditorStyles.boldLabel); if (GUILayout.Button("Build Asset Bundles")) { if (!CreateAssetBundles.ExportAssetBundleFolders(this)) { Debug.LogError("AssetBundle Build Failed! - Please check your settings in the Bundle Creator at Assets->Bundle Creator-> Asset Bundle Creator."); } else { //It worked, save the preferences and reload the control file WriteEditorPrefs(this); bundleVersions.Clear(); bundleContents.Clear(); bundleFileSizes.Clear(); CreateAssetBundles.ReadBundleControlFile(Application.dataPath + exportLocation + CreateAssetBundles.bundleControlFileName, bundleVersions); CreateAssetBundles.ReadBundleContentsFile(Application.dataPath + exportLocation + CreateAssetBundles.bundleContentsFileName, bundleContents); ReadBundleFileSizes(); } } GUILayout.Label("Bundle Versions", EditorStyles.boldLabel); scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); foreach (KeyValuePair <string, int> bundleVersion in bundleVersions) { float bundleFileSize = 0; bundleFileSizes.TryGetValue(bundleVersion.Key, out bundleFileSize); if (GUILayout.Button(bundleVersion.Key + ", Version:" + bundleVersion.Value + ", Size: " + bundleFileSize + "kb")) { List <string> assetsInBundle = null; bundleContents.TryGetValue(bundleVersion.Key, out assetsInBundle); if (assetsInBundle != null) { CreateContentWindow(); contentWindow.SelectAssetBundle(bundleVersion.Key, assetsInBundle, Application.dataPath + exportLocation, bundleFileSize); contentWindow.ShowTab(); } } } EditorGUILayout.EndScrollView(); }
public static void Build() { // 构建AssetBundles CreateAssetBundles.BuildAllAssetBundles(); }
private static void Build(BuildOptions options) { BuildPipeline.BuildPlayer(EditorBuildSettings.scenes, Reg.buildPath, BuildTarget.StandaloneWindows, options); CreateAssetBundles.BuildAllAssetBundles(Reg.assetBundleDataPathBuild); }
void OnGUI() { GUILayout.Label("注意:打包平台设置", EditorStyles.boldLabel); EditorGUILayout.Space(); EditorGUILayout.Space(); GUILayout.Label(" 工具1:", EditorStyles.boldLabel); GUILayout.Label(" 根据平台打包全部AB", EditorStyles.boldLabel); GUILayout.Label(" AB的输出路径为:" + CreateAssetBundles.savePath(false), EditorStyles.boldLabel); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("build windows assetbundles", GUILayout.Width(200), GUILayout.Height(40)) && CanRun) { CloseThis(); BuildHandler(BuildTarget.StandaloneWindows); } if (GUILayout.Button("build android assetbundles", GUILayout.Width(200), GUILayout.Height(40)) && CanRun) { CloseThis(); BuildHandler(BuildTarget.Android); } if (GUILayout.Button("build ios assetbundles", GUILayout.Width(200), GUILayout.Height(40)) && CanRun) { CloseThis(); BuildHandler(BuildTarget.iOS); } EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); loadAssetWay = GUILayout.Toggle(!loadAssetWay, "勾选为编辑器加载,不勾选为AB加载,请选择!(关闭界面保存)", GUILayout.Height(20)); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); GUILayout.Label(" 工具2:", EditorStyles.boldLabel); GUILayout.Label(" 打AssetBundle并存入StreamingAssets文件夹", EditorStyles.boldLabel); GUILayout.Label(" AB的输出路径为:" + CreateAssetBundles.savePath(true), EditorStyles.boldLabel); EditorGUILayout.BeginVertical(); selectBar = GUILayout.Toolbar(selectBar, toolbarNames, GUILayout.Width(500), GUILayout.Height(40)); EditorGUILayout.Space(); EditorGUILayout.EndVertical(); EditorGUILayout.BeginVertical(); for (int i = 0; i < bundleType.Length; i++) { selectBundles = GUILayout.Toggle(selectBundles, bundleType[i], GUILayout.Height(20)); } EditorGUILayout.EndVertical(); EditorGUILayout.Space(); if (GUILayout.Button("打包所选择的AB", GUILayout.Width(200), GUILayout.Height(40)) && CanRun) { CloseThis(); OnSelectPlatform(); } EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); GUILayout.Label(" 工具3:", EditorStyles.boldLabel); GUILayout.Label(" 生成Resources内的资源详情信息", EditorStyles.boldLabel); GUILayout.Label(" 输出路径为:Assets/StreamingAssets/ResourcesDetails.txt"); if (GUILayout.Button("开始生成", GUILayout.Width(200), GUILayout.Height(40))) { GenerateResourceDetails(); } }
private void OnSelectPlatform() { BuildTarget target = BuildTarget.StandaloneWindows; string pingtai = toolbarNames[selectBar]; switch (pingtai) { case "Windows": { target = BuildTarget.StandaloneWindows; break; } case "Android": { target = BuildTarget.Android; break; } case "iOS": { target = BuildTarget.iOS; break; } } for (int i = 0; i < selectBundle.Length; i++) { selectBundle[i] = selectBundles; } bool select = false; foreach (var s in selectBundle) { select = select || s; } if (!select) { Debug.Log("请勾选任何AB类型!"); return; } List <BundleResourceType> typeList = new List <BundleResourceType> (); //0 "人物、建筑、人物特效、地图特效、建筑通用特效、UI特效、Shader" if (selectBundle[0]) { typeList.Add(BundleResourceType.Characters); typeList.Add(BundleResourceType.Buildings); typeList.Add(BundleResourceType.NPC); typeList.Add(BundleResourceType.Particle_Character); typeList.Add(BundleResourceType.Particle_Map); typeList.Add(BundleResourceType.Particle_Building); typeList.Add(BundleResourceType.Particle_UI); typeList.Add(BundleResourceType.Shaders); } //1 "UI加载图" if (selectBundle[1]) { typeList.Add(BundleResourceType.UI_Load); } //2 "背景音乐", if (selectBundle[2]) { typeList.Add(BundleResourceType.Sound_BGM); } //3 "战斗场景音效", if (selectBundle[3]) { typeList.Add(BundleResourceType.Sound_Battle); } //4 "非战斗场景音效", if (selectBundle[4]) { typeList.Add(BundleResourceType.Sound_MainMenu); } //5 "通用的音效", if (selectBundle[5]) { typeList.Add(BundleResourceType.Sound_Common); } CreateAssetBundles.BuildAssetBundles(target, typeList.ToArray(), true); }
private void BuildHandler(BuildTarget target) { CreateAssetBundles.BuildAllAssetBundle(target); }
public static void BuildPlatform() { CreateAssetBundles.EnsureBuilt(); BuildPlatform(EditorUserBuildSettings.activeBuildTarget, Scenes); }
private static void Init() { CreateAssetBundles windos = (CreateAssetBundles)EditorWindow.GetWindow(typeof(CreateAssetBundles)); windos.Show(); }