private void OnGUI() { EditorGUILayout.LabelField("选择或创建打包配置"); selectIndex = EditorGUILayout.Popup("已有配置:", selectIndex, builds_Name.ToArray()); if (selectIndex < builds.Count && selectIndex != selectIndex_T) { selectIndex_T = selectIndex; build.Clone(builds[selectIndex]); } EditorGUILayout.Space(); build.Target = (BuildTarget)EditorGUILayout.EnumPopup("Target:", build.Target); EditorGUILayout.BeginHorizontal(); build.OutPath = EditorGUILayout.TextField("OutPath:", build.OutPath); if (GUILayout.Button("Browser", GUILayout.Width(80))) { string str = EditorUtility.OpenFolderPanel("保存路径:", "../Release/", ""); if (!string.IsNullOrEmpty(str)) { string name = "Build"; switch (build.Target) { case BuildTarget.StandaloneWindows: case BuildTarget.StandaloneWindows64: name = "PC.exe"; break; case BuildTarget.Android: name = "Android.apk"; break; default: break; } str = Path.Combine(str, name); } build.OutPath = str; } EditorGUILayout.EndHorizontal(); build.Development = EditorGUILayout.Toggle("Development:", build.Development); EditorGUILayout.BeginHorizontal(); if (selectIndex < builds.Count) { if (GUILayout.Button("保存至当前选择的配置")) { builds[selectIndex].Clone(build); builds_Name[selectIndex] = build.ShowName; } if (GUILayout.Button("删除当前选择的配置")) { builds.RemoveAt(selectIndex); builds_Name.RemoveAt(selectIndex); } } builds_ShowNewBtn = true; for (int i = 0; i < builds.Count; i++) { if (builds[i].ShowName == build.ShowName) { builds_ShowNewBtn = false; } } if (builds_ShowNewBtn) { if (GUILayout.Button("另存为一个新的配置")) { BuildPlayerIndo a = new BuildPlayerIndo(); a.Clone(build); builds.Add(a); builds_Name.Add(a.ShowName); selectIndex = builds.Count - 1; } } if (GUILayout.Button("保存所有配置至本地")) { SaveInfos(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); if (GUILayout.Button("Build")) { Build(); } }
public void Clone(BuildPlayerIndo buildPlayer) { OutPath = buildPlayer.OutPath; Target = buildPlayer.Target; Development = buildPlayer.Development; }