private void OnKeyDown(Event e) { if (e.keyCode == KeyCode.Return || e.keyCode == KeyCode.KeypadEnter) { string scriptPath = Path.Combine(m_Path, m_ScriptName + ".cs"); if (!File.Exists(scriptPath)) { CreateScript(scriptPath); ButtonDropWindow.Close(); } } }
private void OnGui(Rect position, ButtonDropWindow.Styles styles) { GUI.Label(new Rect(0.0f, 0.0f, position.width, position.height), GUIContent.none, styles.background); var rect = position; rect.x = +1f; rect.y = +0f; rect.width -= 2f; //rect.height -= 2f; using (GUILayoutEx.Area(rect)) { rect = GUILayoutUtility.GetRect(10f, 25f); GUI.Label(rect, "New Script", styles.header); GUILayout.Label("Name:"); m_ScriptName = EditorGUILayout.TextField(m_ScriptName); GUILayout.Label("Namespace:"); using (GUILayoutEx.Horizontal()) { m_Namespace = EditorGUILayout.TextField(m_Namespace); if (GUILayout.Button("S", GUILayout.Width(20))) { } } GUILayout.Label("Path:"); using (GUILayoutEx.Horizontal()) { m_Path = EditorGUILayout.TextField(m_Path); if (GUILayout.Button("S", GUILayout.Width(20))) { } } string scriptPath = Path.Combine(m_Path, m_ScriptName + ".cs"); using (EditorGUIEx.DisabledScopeIf(File.Exists(scriptPath))) { if (GUILayout.Button("Create and Add")) { CreateScript(scriptPath); ButtonDropWindow.Close(); } } } }