internal EasyAssetBundleLabelConfig(EasyAssetBundleLabelConfig copy) { for (int i = 0; i < copy.LabelSetting.Count; i++) { LabelSetting.Add(new DirectoryLabelSetting(copy.LabelSetting[i])); } for (int i = 0; i < copy.FileNameChecker.Count; i++) { FileNameChecker.Add(new FileNameCkeckerSetting(copy.FileNameChecker[i])); } DefaultLabelType = copy.DefaultLabelType; DefaultNGPattern = copy.DefaultNGPattern; }
internal void OnGUI() { var buildPathExists = !string.IsNullOrEmpty(BuildRootPath); if (!buildPathExists) { EditorGUILayout.HelpBox("set up buildroot path", MessageType.Warning); } EditorGUI.BeginDisabledGroup(!buildPathExists); EditorGUILayout.BeginVertical(); { GUILayout.Space(7); EditorGUILayout.BeginHorizontal(); { Undo.IncrementCurrentGroup(); UndoHelper.BuilderDataUndo("Change default label type"); GUILayout.Label(new GUIContent("Default label type", "used for naming assetlabel")); DefaultLabelType = ( AssetBundleLabelType )EditorGUILayout.EnumPopup(DefaultLabelType); } EditorGUILayout.EndHorizontal(); GUILayout.Space(15); Undo.IncrementCurrentGroup(); UndoHelper.BuilderDataUndo("Change NG filename pattern"); GUILayout.Label("NG FileName Pattern"); DefaultNGPattern = EditorGUILayout.TextField(DefaultNGPattern); GUILayout.Space(10); EditorGUILayout.BeginVertical(EditorStyles.helpBox); { GUILayout.Space(5); var menu = GUILayout.Toolbar(SelectedMenu, new string[] { "FileName Checker", "Directory Label" }, GUILayout.Height(20)); if (SelectedMenu != menu) { UndoHelper.BuilderDataUndo("Change label menu"); EditorGUIUtility.keyboardControl = 0; } SelectedMenu = menu; EditorGUILayout.BeginHorizontal(); { GUI.backgroundColor = Color.yellow; switch (SelectedMenu) { case 0: if (GUILayout.Button("+", GUILayout.Width(25))) { UndoHelper.BuilderDataUndo("Add FilenameChecker Setting"); FileNameChecker.Add(new FileNameCkeckerSetting()); EditorGUIUtility.keyboardControl = 0; } break; case 1: if (GUILayout.Button("+", GUILayout.Width(25))) { UndoHelper.BuilderDataUndo("Add DirectoryLabel Setting"); LabelSetting.Add(new DirectoryLabelSetting()); EditorGUIUtility.keyboardControl = 0; } break; } GUI.backgroundColor = Color.white; Undo.IncrementCurrentGroup(); UndoHelper.BuilderDataUndo("Change setting search text"); SearchText = EditorGUILayout.TextField(SearchText, GUIHelper.Styles.SearchField, GUILayout.ExpandWidth(true)); if (GUILayout.Button("", GUIHelper.Styles.SearchFieldCancel)) { SearchText = ""; EditorGUIUtility.keyboardControl = 0; } } EditorGUILayout.EndHorizontal(); GUILayout.Space(5); ScrollView = EditorGUILayout.BeginScrollView(ScrollView); { switch (SelectedMenu) { case 0: FileNameCheckerView(); break; case 1: LabelSettingView(); break; } } EditorGUILayout.EndScrollView(); GUILayout.FlexibleSpace(); } EditorGUILayout.EndVertical(); } EditorGUILayout.EndVertical(); EditorGUI.EndDisabledGroup(); }