Skip to content

Commit 5db49e4

Browse files
committed
vertical table mode rename option added
1 parent 7d4a9c1 commit 5db49e4

File tree

3 files changed

+47
-2
lines changed

3 files changed

+47
-2
lines changed

Assets/Editor/Editor Windows/ScriptableObjectEditorWindow.cs

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,52 @@ private void PutPropertiesForObject_V<T>(List<T> Configs) where T : ScriptableOb
470470
// Display the file name and a delete button for the asset
471471
EditorGUILayout.BeginHorizontal();
472472
GUIContent propertyContent = new GUIContent(fileName, fileName);
473-
EditorGUILayout.LabelField(propertyContent, EditorStyles.miniBoldLabel, GUILayout.MinWidth(PropertyMinWidth));
473+
474+
Rect elementRect = GUILayoutUtility.GetRect(120, 18);
475+
476+
if (isRenaming && ObjectToRename != null && ObjectToRename == Config)
477+
{
478+
GUI.SetNextControlName("RenameField");
479+
480+
// Display a text field for renaming the asset.if renameText is empty, show the file name until the user types something
481+
renameText = EditorGUI.TextField(elementRect, renameText == "" ? fileName : renameText);
482+
483+
Event e = Event.current;
484+
485+
// textfield + confirm button (for mouse event it must also contain the button area)
486+
elementRect.width += 25;
487+
if (isRenaming && e.type == EventType.MouseDown && !elementRect.Contains(e.mousePosition))
488+
{
489+
isRenaming = false;
490+
GUI.FocusControl(null);
491+
e.Use();
492+
}
493+
494+
if (FinishRenaming || Event.current.keyCode == KeyCode.Return || Event.current.keyCode == KeyCode.KeypadEnter)
495+
{
496+
AssetDatabase.RenameAsset(filePath, renameText);
497+
AssetDatabase.SaveAssets();
498+
isRenaming = false;
499+
FinishRenaming = false;
500+
renameText = "";
501+
ObjectToRename = null;
502+
GUI.FocusControl(null);
503+
}
504+
else if (Event.current.keyCode == KeyCode.Escape)
505+
{
506+
renameText = "";
507+
isRenaming = false;
508+
ObjectToRename = null;
509+
GUI.FocusControl(null);
510+
}
511+
512+
EditorGUI.FocusTextInControl("RenameField");
513+
}
514+
else
515+
{
516+
EditorGUI.LabelField(elementRect, propertyContent, EditorStyles.miniBoldLabel);
517+
}
518+
474519
OptionsButton(Config);
475520
EditorGUILayout.EndHorizontal();
476521

Assets/Resources/ScriptableObjects/TestConfig.asset renamed to Assets/Resources/ScriptableObjects/TestConfig2.asset

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ MonoBehaviour:
1010
m_Enabled: 1
1111
m_EditorHideFlags: 0
1212
m_Script: {fileID: 11500000, guid: b23340d9b453ca740945f54769125bb1, type: 3}
13-
m_Name: TestConfig
13+
m_Name: TestConfig2
1414
m_EditorClassIdentifier:
1515
number: -13
1616
value: 0

0 commit comments

Comments
 (0)