Esempio n. 1
0
        /// <summary>
        /// Primarily final drawing, called late in the OnSceneGUI call
        /// </summary>
        private static void OnLateSceneGUI(SceneView sceneView)
        {
                        #if !NCAMERA
            return;
                                                #endif

            if (SceneView.lastActiveSceneView != sceneView)
            {
                return;
            }

            Event e = Event.current;

            if (e.type == EventType.Repaint)
            {
                OnRepaint(sceneView);
            }

            #region Axis Selectors

            if (cameraStatus == NCameraStatus.none || cameraStatus == NCameraStatus.off)
            {
                return;
            }

            if (!sceneView.in2DMode)
            {
                if (e.control && !e.alt)
                {
                    Action <Quaternion> Callback = q =>
                    {
                        Transform camTransform = sceneView.camera.transform;
                        sixAxisUp = q * Vector3.back;
                        sceneView.LookAt(sceneView.pivot, Quaternion.LookRotation(camTransform.forward, sixAxisUp));
                    };

                    AxisSelectorExtensions.AxisSelectorGUI(sceneView, sixAxisUp, Callback);
                }
            }

            if (!sceneView.in2DMode)
            {
                if (e.control && !e.alt)
                {
                    AxisSelectorExtensions.ShowOrHideOtherAxisSelectors(false);
                    axisSelectorsWereHidden = true;
                }
            }

            #endregion
        }