Skip to content

Commit 7d4a9c1

Browse files
committed
rename option visual update
1 parent 1fb78da commit 7d4a9c1

File tree

1 file changed

+20
-16
lines changed

1 file changed

+20
-16
lines changed

Assets/Editor/Editor Windows/ScriptableObjectEditorWindow.cs

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public static string[] BasicFilters
4545

4646
// rename operation:
4747
bool isRenaming = false;
48+
bool FinishRenaming = false;
4849
ScriptableObject ObjectToRename = null;
4950
string renameText = "";
5051

@@ -524,11 +525,21 @@ private void OptionsButton<T>(T Config) where T : ScriptableObject
524525
buttonStyle.padding = new RectOffset(2, 2, 2, 2);
525526
buttonStyle.imagePosition = ImagePosition.ImageOnly;
526527
}
527-
528-
if (GUILayout.Button(ConfigOptionsButton, buttonStyle, ConfigOptionsButtonOptions))
528+
if (isRenaming && ObjectToRename != null && ObjectToRename == Config)
529529
{
530-
ShowOptionsMenu(Config);
530+
if (GUILayout.Button(checkIcon, buttonStyle, ConfigOptionsButtonOptions))
531+
{
532+
FinishRenaming = true;
533+
}
531534
}
535+
else
536+
{
537+
if (GUILayout.Button(ConfigOptionsButton, buttonStyle, ConfigOptionsButtonOptions))
538+
{
539+
ShowOptionsMenu(Config);
540+
}
541+
}
542+
532543
}
533544

534545
private void ShowOptionsMenu<T>(T Config) where T : ScriptableObject
@@ -598,7 +609,7 @@ private void PutPropertiesForObject_H<T>(List<T> Configs) where T : ScriptableOb
598609
GUIContent propertyContent = new GUIContent(fileName, fileName);
599610

600611

601-
Rect elementRect = GUILayoutUtility.GetRect(120, 120, 18, 18, GUILayout.Width(120));
612+
Rect elementRect = GUILayoutUtility.GetRect(120, 18, GUILayout.Width(120));
602613

603614
if (isRenaming && ObjectToRename != null && ObjectToRename == Config)
604615
{
@@ -609,28 +620,21 @@ private void PutPropertiesForObject_H<T>(List<T> Configs) where T : ScriptableOb
609620

610621
Event e = Event.current;
611622

623+
// textfield + confirm button (for mouse event it must also contain the button area)
624+
elementRect.width = 145;
612625
if (isRenaming && e.type == EventType.MouseDown && !elementRect.Contains(e.mousePosition))
613626
{
614627
isRenaming = false;
615628
GUI.FocusControl(null);
616-
e.Use(); // Olayý tüketiyoruz
617-
}
618-
619-
if (GUILayout.Button(checkButton, buttonStyle, ConfigOptionsButtonOptions))
620-
{
621-
AssetDatabase.RenameAsset(filePath, renameText);
622-
AssetDatabase.SaveAssets();
623-
isRenaming = false;
624-
renameText = "";
625-
ObjectToRename = null;
626-
GUI.FocusControl(null);
629+
e.Use();
627630
}
628631

629-
if (Event.current.keyCode == KeyCode.Return || Event.current.keyCode == KeyCode.KeypadEnter)
632+
if (FinishRenaming || Event.current.keyCode == KeyCode.Return || Event.current.keyCode == KeyCode.KeypadEnter)
630633
{
631634
AssetDatabase.RenameAsset(filePath, renameText);
632635
AssetDatabase.SaveAssets();
633636
isRenaming = false;
637+
FinishRenaming = false;
634638
renameText = "";
635639
ObjectToRename = null;
636640
GUI.FocusControl(null);

0 commit comments

Comments
 (0)