private bool sortChildren; // This option will be true when only one gameobject is select and if it has children

    private void SortGUI()
    {
        EzFR_Style.Header("Sort", false, false);
        EditorGUI.indentLevel = 1;
        sortOption            = (SortOptions)EditorGUILayout.EnumPopup("Sort Option", sortOption);

        if (GUILayout.Button("Sort Selection", GUILayout.Height(25)))
        {
            SortSelection(this.sortOption);
        }
        if (GUILayout.Button("Sort Children", GUILayout.Height(25)))
        {
            SortSelection(this.sortOption, true);
        }

        EzFR_Style.Footer();
    }
    private void RenameGUI()
    {
        EzFR_Style.Header("Rename", false, false);
        EditorGUI.indentLevel = 1;
        // New Name
        fileNewName = EditorGUILayout.TextField("New Name", fileNewName);
        EditorGUILayout.Space();

        // Prefix
        usePrefix = EditorGUILayout.Toggle("Use Prefix", usePrefix);
        if (usePrefix)
        {
            filePrefix        = EditorGUILayout.TextField("Prefix", filePrefix);
            prefixSeparatedBy = (SeparatedBy)EditorGUILayout.EnumPopup("Separated By", prefixSeparatedBy);
            if (prefixSeparatedBy == SeparatedBy.custom)
            {
                prefixCustomSeparator = EditorGUILayout.TextField("Custom Separator", prefixCustomSeparator);
            }
            else
            {
                prefixCustomSeparator = "";
            }
            EditorGUILayout.Space();
        }

        // Suffix
        useSuffix = EditorGUILayout.Toggle("Use Suffix", useSuffix);
        if (useSuffix)
        {
            fileSuffix        = EditorGUILayout.TextField("Suffix", fileSuffix);
            suffixSeparatedBy = (SeparatedBy)EditorGUILayout.EnumPopup("Separated By", suffixSeparatedBy);
            if (suffixSeparatedBy == SeparatedBy.custom)
            {
                suffixCustomSeparator = EditorGUILayout.TextField("Custom Separator", suffixCustomSeparator);
            }
            else
            {
                suffixCustomSeparator = "";
            }
            EditorGUILayout.Space();
        }

        // Make it Sequential
        makeSequential = EditorGUILayout.Toggle("Make Sequential", makeSequential);
        if (makeSequential)
        {
            sequenceOptions        = (SequenceOptions)EditorGUILayout.EnumPopup("Number Goes", sequenceOptions);
            sequentialInitalNumber = EditorGUILayout.IntField("Initial Number", sequentialInitalNumber);
            sequentialSeparatedBy  = (SeparatedBy)EditorGUILayout.EnumPopup("Separated By", sequentialSeparatedBy);

            if (sequentialSeparatedBy == SeparatedBy.custom)
            {
                sequentialCustomSeparator = EditorGUILayout.TextField("Custom Separator", sequentialCustomSeparator);
            }
            else
            {
                sequentialCustomSeparator = "";
            }
            EditorGUILayout.Space();
        }

        if (GUILayout.Button("Rename On Hierarchy", GUILayout.Height(25)))
        {
            DoRenameHierarchy();
        }
        if (GUILayout.Button("Rename On Project Folder", GUILayout.Height(25)))
        {
            DoRenameFilesFolder();
        }

        EzFR_Style.Footer();
    }
 private void OnGUI()
 {
     RenameGUI();
     SortGUI();
     EzFR_Style.DisplayInformation("https://forum.unity3d.com/threads/ez-files-renamer.300182/");
 }