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(); } } } }
public override void OnSpyglassGUI() { base.OnSpyglassGUI(); using (EditorGUILayoutEx.Vertical()) { ButtonDropWindow.Show("Create Component", () => InitButtonDropWindow(), (position, styles) => { Event e = Event.current; switch (e.type) { case EventType.KeyDown: OnKeyDown(e); break; } OnGui(position, styles); }); var cameraTransform = UnityEditor.SceneView.lastActiveSceneView.camera.transform; var delta = target.transform.position - cameraTransform.position; EditorGUILayout.SelectableLabel($"{delta.x}, {delta.y}, {delta.z} : {delta.magnitude}"); } }