/// <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 }