Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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();
        }