public void OnGUI() { Rect nodeWindow = EditorGUILayout.BeginVertical(GUILayout.ExpandHeight(true)); if (Event.current.type == EventType.Repaint) { nodeWindowNonZero = nodeWindow; } // Offset mouse position by the size of the sidebar // Can't use grouping due to the way zooming is handled Vector2 eventPos = Event.current.mousePosition; Event.current.mousePosition -= nodeWindow.position; if (NodeEditor.OnGUI(nodeWindowNonZero)) { editorWindow.Repaint(); SerializedManager.SceneNodesObject.Update(); } Event.current.mousePosition = eventPos; EditorGUILayout.EndVertical(); if (isTransitioning) { editorWindow.Repaint(); } }
private void DrawIdentificationInfo(bool isAnyScene) { EditorGUI.BeginDisabledGroup(isAnyScene); EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(serializedScene.SceneNameProp); EditorGUILayout.BeginHorizontal(); EditorGUILayout.TextField("Scene Path: ", serializedScene.AssetPathProp.stringValue); Rect scenePathRect = GUILayoutUtility.GetLastRect(); scenePathDragReceiver.ReceiverBox = scenePathRect.WithPosition( GUIUtility.GUIToScreenPoint(scenePathRect.position)); if (GUILayout.Button("Ping", GUILayout.MaxWidth(40f))) { UnityEngine.Object asset = AssetDatabase.LoadMainAssetAtPath( serializedScene.AssetPathProp.stringValue); EditorGUIUtility.PingObject(asset); } EditorGUILayout.EndHorizontal(); scenePathDragReceiver.Update(); EditorGUILayout.PropertyField(serializedScene.UseAnySceneTransProp); if (EditorGUI.EndChangeCheck()) { serializedScene.SerializedObject.ApplyModifiedProperties(); SceneManagerEditorWindow nodeEditor = SceneManagerEditorWindow.TryGetExistingWindow(); if (nodeEditor != null) { nodeEditor.Repaint(); } } EditorGUI.EndDisabledGroup(); }