private void SaveStyle(FolderInspector fI) { Vector2Int highResOffset = GetClampedBigIconOffset(); Vector2Int lowResOffset = GetClampedSmallIconOffset(); Texture2D finalHigh; if (PreferencesUI.settings.useNewUI) { Vector2Int offset = GetClampedBigIconOffset(); UpdateTextureColor(folderOriginalIcon48, folderIcon48, (32 + offset.x - 3) * 2, (14 - offset.y + 1) * 2, 96, 80, 16, 24, 2.0F); finalHigh = BakeFinalTexture(folderTexture64, folderIcon48, (32 + highResOffset.x) * 2, (14 - highResOffset.y) * 2); } else { finalHigh = BakeFinalTexture(folderTexture64, folderIcon24, 32 + highResOffset.x, 14 - highResOffset.y); } Texture2D finalLow = BakeFinalTexture(folderTexture16, folderIcon10, 6 + lowResOffset.x, -lowResOffset.y); if (editStyle != null) { EditStyle(finalHigh, true, "64"); EditStyle(finalLow, false, "16"); // Delete previous json info if existing if (lastJsonPath != null) { AssetDatabase.DeleteAsset(lastJsonPath); } WriteGradientInfo(); AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate); fI.CloseSubWindow(); } else { bool success = SaveStyle(finalHigh, "64"); success = success && SaveStyle(finalLow, "16"); WriteGradientInfo(); if (success) { AssetDatabase.Refresh(); fI.CloseSubWindow(); } else { creationSuccess = false; } } }
/// <summary> /// Controls subpart of the window layout /// </summary> private void ControlsGUI(FolderInspector fI) { GUILayout.Space(4); EditorGUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); bool validName = styleName.Length > 2 && styleName.Length < 15 && styleName.IndexOfAny(Path.GetInvalidFileNameChars()) == -1; GUI.enabled = validName; string saveTitle = editStyle != null ? "Save" : "Create"; if (GUILayout.Button(saveTitle, GUILayout.Width(80.0f))) { SaveStyle(fI); } GUI.enabled = true; if (GUILayout.Button("Discard", GUILayout.Width(80.0f))) { fI.CloseSubWindow(); } GUILayout.FlexibleSpace(); EditorGUILayout.EndHorizontal(); if (!creationSuccess) { EditorGUILayout.HelpBox("The same style already exists !", MessageType.Error); } if (!validName) { EditorGUILayout.HelpBox("Style name is not a valid name !", MessageType.Error); } }
/// <summary> /// Controls subpart of the window layout /// </summary> private void ControlsGUI(FolderInspector fI) { EditorGUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("Back", GUILayout.Width(80.0F))) { fI.CloseSubWindow(); } bool validName = styleName.Length > 2 && styleName.Length < 15 && styleName.IndexOfAny(Path.GetInvalidFileNameChars()) == -1; GUI.enabled = validName; if (GUILayout.Button(editStyle != null ? "Save" : "Create", GUILayout.Width(80.0F))) { Vector2Int highResOffset = GetClampedBigIconOffset(); Vector2Int lowResOffset = GetClampedSmallIconOffset(); if (editStyle != null) { EditStyle(BakeFinalTexture(folderTexture64, folderIcon24, 32 + highResOffset.x, 14 - highResOffset.y), true, "64"); EditStyle(BakeFinalTexture(folderTexture16, folderIcon10, 6 + lowResOffset.x, -lowResOffset.y), false, "16"); // Delete previous json info if existing if (lastJsonPath != null) { AssetDatabase.DeleteAsset(lastJsonPath); } WriteGradientInfo(); AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate); fI.CloseSubWindow(); } else { bool success = SaveStyle(BakeFinalTexture(folderTexture64, folderIcon24, 32 + highResOffset.x, 14 - highResOffset.y), "64"); success = success && SaveStyle(BakeFinalTexture(folderTexture16, folderIcon10, 6 + lowResOffset.x, -lowResOffset.y), "16"); WriteGradientInfo(); if (success) { AssetDatabase.Refresh(); fI.CloseSubWindow(); } else { creationSuccess = false; } } } GUI.enabled = true; EditorGUILayout.EndHorizontal(); if (!creationSuccess) { EditorGUILayout.HelpBox("The same style already exists !", MessageType.Error); } if (!validName) { EditorGUILayout.HelpBox("Style name is not a valid name !", MessageType.Error); } }