Example #1
0
        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;
                }
            }
        }
Example #2
0
        /// <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);
            }
        }
Example #3
0
        /// <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);
            }
        }