@@ -18,6 +18,8 @@ public class ConvertToPrefabEditorWindow : ExportOptionsEditorWindow
18
18
private GameObject [ ] m_toConvert ;
19
19
private string m_prefabFileName = "" ;
20
20
21
+ private float m_prefabExtLabelWidth ;
22
+
21
23
public static void Init ( IEnumerable < GameObject > toConvert )
22
24
{
23
25
ConvertToPrefabEditorWindow window = CreateWindow < ConvertToPrefabEditorWindow > ( ) ;
@@ -43,6 +45,7 @@ protected override void OnEnable ()
43
45
if ( ! m_innerEditor ) {
44
46
m_innerEditor = UnityEditor . Editor . CreateEditor ( ExportSettings . instance . convertToPrefabSettings ) ;
45
47
}
48
+ m_prefabExtLabelWidth = m_fbxExtLabelStyle . CalcSize ( new GUIContent ( ".prefab" ) ) . x ;
46
49
}
47
50
48
51
protected override void Export ( )
@@ -92,16 +95,25 @@ protected override void CreateCustomUI ()
92
95
GUILayout . BeginHorizontal ( ) ;
93
96
EditorGUILayout . LabelField ( new GUIContent (
94
97
"Prefab Name:" ,
95
- "Filename to save prefab to." ) , GUILayout . Width ( LabelWidth - FieldOffset ) ) ;
98
+ "Filename to save prefab to." ) , GUILayout . Width ( LabelWidth - TextFieldAlignOffset ) ) ;
96
99
97
100
EditorGUI . BeginDisabledGroup ( DisableNameSelection ( ) ) ;
98
- var textFieldStyle = new GUIStyle ( EditorStyles . textField ) ;
99
- // increase padding to match filename text field
100
- var padding = textFieldStyle . padding ;
101
- padding . left = padding . left + 3 ;
102
- textFieldStyle . padding = padding ;
103
- m_prefabFileName = EditorGUILayout . TextField ( m_prefabFileName , textFieldStyle ) ;
104
- m_prefabFileName = ModelExporter . ConvertToValidFilename ( m_prefabFileName ) ;
101
+ // Show the export name with an uneditable ".prefab" at the end
102
+ //-------------------------------------
103
+ EditorGUILayout . BeginVertical ( ) ;
104
+ EditorGUILayout . BeginHorizontal ( EditorStyles . textField , GUILayout . Height ( EditorGUIUtility . singleLineHeight ) ) ;
105
+ EditorGUI . indentLevel -- ;
106
+ // continually resize to contents
107
+ var textFieldSize = m_nameTextFieldStyle . CalcSize ( new GUIContent ( m_prefabFileName ) ) ;
108
+ m_exportFileName = EditorGUILayout . TextField ( m_prefabFileName , m_nameTextFieldStyle , GUILayout . Width ( textFieldSize . x + 5 ) , GUILayout . MinWidth ( 5 ) ) ;
109
+ m_exportFileName = ModelExporter . ConvertToValidFilename ( m_prefabFileName ) ;
110
+
111
+ EditorGUILayout . LabelField ( "<color=#808080ff>.prefab</color>" , m_fbxExtLabelStyle , GUILayout . Width ( m_prefabExtLabelWidth ) ) ;
112
+ EditorGUI . indentLevel ++ ;
113
+
114
+ EditorGUILayout . EndHorizontal ( ) ;
115
+ EditorGUILayout . EndVertical ( ) ;
116
+ //-----------------------------------
105
117
EditorGUI . EndDisabledGroup ( ) ;
106
118
GUILayout . EndHorizontal ( ) ;
107
119
0 commit comments