private void DrawReconstructor() { if (importSettings == null) { return; } EditorGUILayout.LabelField(labelUseConstructor, EditorStyles.boldLabel); ImportLayerData reconstructLayer = null; if (lastSelectedLayer != null) { reconstructLayer = GetLayerData(lastSelectedLayer); if (reconstructLayer != null && reconstructLayer.Childs.Count == 0) { reconstructLayer = null; } } selectedReconstructor = EditorGUILayout.Popup(labelSelConstructor, selectedReconstructor, dropdownReconstruct); SpriteAlignUI.DrawGUILayout(labelDocAlign, importSettings.DocAlignment, alignment => { importSettings.DocAlignment = alignment; if (alignment != SpriteAlignment.Custom) { importSettings.DocPivot = PsdImporter.AlignmentToPivot(alignment); } Repaint(); }); if (importSettings.DocAlignment == SpriteAlignment.Custom) { EditorGUI.indentLevel++; importSettings.DocPivot = EditorGUILayout.Vector2Field(labelDocPivot, importSettings.DocPivot); EditorGUI.indentLevel--; } bool canReconstruct = reconstructLayer != null; IReconstructor reconstructorInstance = null; if (canReconstruct) { if (selectedReconstructor > -1 && selectedReconstructor < reconstructors.Length) { reconstructorInstance = reconstructors[selectedReconstructor]; canReconstruct = reconstructorInstance.CanReconstruct(Selection.activeGameObject); } else { canReconstruct = false; } } if (canReconstruct) { string strButton = string.Format("Build {0} as {1}", reconstructLayer.name, reconstructorInstance.DisplayName); if (GUILayout.Button(strButton, bigButton)) { GetLayerData(lastSelectedLayer); PsdImporter.Reconstruct(importFile, importSettings, reconstructLayer, importSettings.DocPivot, reconstructorInstance); } } else { string helpMessage = "Select a layer group"; if (reconstructLayer != null && reconstructorInstance != null) { helpMessage = reconstructorInstance.HelpMessage; } EditorGUILayout.HelpBox(helpMessage, MessageType.Info); } }
private void DrawImportSettings() { using (var check = new EditorGUI.ChangeCheckScope()) { showImportSettings = EditorGUILayout.Foldout(showImportSettings, labelShowImport, styleBoldFoldout); if (check.changed) { Rect window = position; int expand = 165; window.yMax += showImportSettings ? expand : -expand; position = window; } } if (showImportSettings == false) { return; } EditorGUI.indentLevel++; EditorGUI.BeginDisabledGroup(importFile == null); EditorGUILayout.Space(); EditorGUI.BeginChangeCheck(); DrawPathPicker(); importSettings.fileNaming = (NamingConvention)EditorGUILayout.EnumPopup(labelFileNaming, importSettings.fileNaming); if (importSettings.fileNaming != NamingConvention.LayerNameOnly) { EditorGUI.indentLevel++; importSettings.groupMode = (GroupMode)EditorGUILayout.EnumPopup(labelGrpMode, importSettings.groupMode); EditorGUI.indentLevel--; } EditorGUILayout.Space(); importSettings.PackingTag = EditorGUILayout.TextField(labelPackTag, importSettings.PackingTag); importPPU = EditorGUILayout.FloatField(labelPixelUnit, importPPU); SpriteAlignUI.DrawGUILayout(labelAlignment, importSettings.DefaultAlignment, newAlign => { importSettings.DefaultAlignment = newAlign; settingsChanged = true; ApplyDefaultSettings(); }); if (importSettings.DefaultAlignment == SpriteAlignment.Custom) { using (new EditorGUILayout.HorizontalScope()) { GUILayout.Space(EditorGUIUtility.labelWidth); importSettings.DefaultPivot = EditorGUILayout.Vector2Field(GUIContent.none, importSettings.DefaultPivot); } } importSettings.ScaleFactor = (ScaleFactor)EditorGUILayout.EnumPopup(labelScale, importSettings.ScaleFactor); //importSettings.AutoImport = EditorGUILayout.Toggle(labelAutoImport, importSettings.AutoImport); if (EditorGUI.EndChangeCheck()) { settingsChanged = true; importSettings.DefaultPivot.x = Mathf.Clamp01(importSettings.DefaultPivot.x); importSettings.DefaultPivot.y = Mathf.Clamp01(importSettings.DefaultPivot.y); ApplyDefaultSettings(); } using (new EditorGUI.DisabledGroupScope(settingsChanged == false)) { if (GUILayout.Button("Apply")) { WriteImportSettings(); } } EditorGUI.EndDisabledGroup(); EditorGUI.indentLevel--; }