public static void DrawSceneViewTools(SceneView sceneView) { SceneViewOverlay.Window(Styles.selectionToolsWindowTitle, DoContextualToolbarOverlay, int.MaxValue, null, SceneViewOverlay.WindowDisplayOption.MultipleWindowsPerTarget, sceneView); }
public void OnSceneGUI() { Camera target = (Camera)this.target; if (IsViewPortRectValidToRender(target.rect)) { float num; SceneViewOverlay.Window(new GUIContent("Camera Preview"), new SceneViewOverlay.WindowFunction(this.OnOverlayGUI), -100, this.target, SceneViewOverlay.WindowDisplayOption.OneWindowPerTarget); Color color = Handles.color; Color kGizmoCamera = CameraEditor.kGizmoCamera; kGizmoCamera.a *= 2f; Handles.color = kGizmoCamera; Vector3[] far = new Vector3[4]; if (GetFrustum(target, null, far, out num)) { Vector3 a = far[0]; Vector3 vector2 = far[1]; Vector3 b = far[2]; Vector3 vector4 = far[3]; bool changed = GUI.changed; Vector3 vector5 = Vector3.Lerp(a, b, 0.5f); float magnitude = -1f; Vector3 vector6 = MidPointPositionSlider(vector2, b, target.transform.up); if (!GUI.changed) { vector6 = MidPointPositionSlider(a, vector4, -target.transform.up); } if (GUI.changed) { Vector3 vector8 = vector6 - vector5; magnitude = vector8.magnitude; } GUI.changed = false; vector6 = MidPointPositionSlider(vector4, b, target.transform.right); if (!GUI.changed) { vector6 = MidPointPositionSlider(a, vector2, -target.transform.right); } if (GUI.changed) { Vector3 vector9 = vector6 - vector5; magnitude = vector9.magnitude / num; } if (magnitude >= 0f) { Undo.RecordObject(target, "Adjust Camera"); if (target.orthographic) { target.orthographicSize = magnitude; } else { Vector3 vector7 = vector5 + ((Vector3)(target.transform.up * magnitude)); target.fieldOfView = Vector3.Angle(target.transform.forward, vector7 - target.transform.position) * 2f; } changed = true; } GUI.changed = changed; Handles.color = color; } } }
void OnSceneViewGUI(SceneView view) { SceneViewOverlay.Window(Contents.physicsDebug, DisplayControls, (int)SceneViewOverlay.Ordering.PhysicsDebug, SceneViewOverlay.WindowDisplayOption.OneWindowPerTarget); }
public void OnSceneGUI() { Camera camera = (Camera)this.target; if (!CameraEditor.IsViewPortRectValidToRender(camera.rect)) { return; } SceneViewOverlay.Window(new GUIContent("Camera Preview"), new SceneViewOverlay.WindowFunction(this.OnOverlayGUI), -100, this.target, SceneViewOverlay.WindowDisplayOption.OneWindowPerTarget); Color color = Handles.color; Color color2 = CameraEditor.kGizmoCamera; color2.a *= 2f; Handles.color = color2; Vector3[] array = new Vector3[4]; float num; if (!CameraEditor.GetFrustum(camera, null, array, out num)) { return; } Vector3 vector = array[0]; Vector3 vector2 = array[1]; Vector3 vector3 = array[2]; Vector3 vector4 = array[3]; bool changed = GUI.changed; Vector3 vector5 = Vector3.Lerp(vector, vector3, 0.5f); float num2 = -1f; Vector3 a = CameraEditor.MidPointPositionSlider(vector2, vector3, camera.transform.up); if (!GUI.changed) { a = CameraEditor.MidPointPositionSlider(vector, vector4, -camera.transform.up); } if (GUI.changed) { num2 = (a - vector5).magnitude; } GUI.changed = false; a = CameraEditor.MidPointPositionSlider(vector4, vector3, camera.transform.right); if (!GUI.changed) { a = CameraEditor.MidPointPositionSlider(vector, vector2, -camera.transform.right); } if (GUI.changed) { num2 = (a - vector5).magnitude / num; } if (num2 >= 0f) { Undo.RecordObject(camera, "Adjust Camera"); if (camera.orthographic) { camera.orthographicSize = num2; } else { Vector3 a2 = vector5 + camera.transform.up * num2; camera.fieldOfView = Vector3.Angle(camera.transform.forward, a2 - camera.transform.position) * 2f; } changed = true; } GUI.changed = changed; Handles.color = color; }
public virtual void OnSceneGUI() { var c = (Camera)target; if (!IsViewPortRectValidToRender(c.rect)) { return; } SceneViewOverlay.Window(EditorGUIUtility.TrTextContent("Camera Preview"), OnOverlayGUI, (int)SceneViewOverlay.Ordering.Camera, target, SceneViewOverlay.WindowDisplayOption.OneWindowPerTarget); Color orgHandlesColor = Handles.color; Color slidersColor = kGizmoCamera; slidersColor.a *= 2f; Handles.color = slidersColor; // get the corners of the far clip plane in world space var far = new Vector3[4]; float frustumAspect; if (!GetFrustum(c, null, far, out frustumAspect)) { return; } Vector3 leftBottomFar = far[0]; Vector3 leftTopFar = far[1]; Vector3 rightTopFar = far[2]; Vector3 rightBottomFar = far[3]; // manage our own gui changed state, so we can use it for individual slider changes bool guiChanged = GUI.changed; // FOV handles Vector3 farMid = Vector3.Lerp(leftBottomFar, rightTopFar, 0.5f); // Top and bottom handles float halfHeight = -1.0f; Vector3 changedPosition = MidPointPositionSlider(leftTopFar, rightTopFar, c.transform.up); if (!GUI.changed) { changedPosition = MidPointPositionSlider(leftBottomFar, rightBottomFar, -c.transform.up); } if (GUI.changed) { halfHeight = (changedPosition - farMid).magnitude; } // Left and right handles GUI.changed = false; changedPosition = MidPointPositionSlider(rightBottomFar, rightTopFar, c.transform.right); if (!GUI.changed) { changedPosition = MidPointPositionSlider(leftBottomFar, leftTopFar, -c.transform.right); } if (GUI.changed) { halfHeight = (changedPosition - farMid).magnitude / frustumAspect; } // Update camera settings if changed if (halfHeight >= 0.0f) { Undo.RecordObject(c, "Adjust Camera"); if (c.orthographic) { c.orthographicSize = halfHeight; } else { Vector3 pos = farMid + c.transform.up * halfHeight; c.fieldOfView = Vector3.Angle(c.transform.forward, (pos - c.transform.position)) * 2f; } guiChanged = true; } GUI.changed = guiChanged; Handles.color = orgHandlesColor; }
void OnSceneViewGUI(SceneView view) { SceneViewOverlay.ShowWindow(m_OverlayWindow); }
public static void Window(GUIContent title, SceneViewOverlay.WindowFunction sceneViewFunc, int order, SceneViewOverlay.WindowDisplayOption option) { SceneViewOverlay.Window(title, sceneViewFunc, order, null, option); }
private void OnSceneViewGUI(SceneView view) { SceneViewOverlay.Window(PhysicsDebugWindow.Contents.physicsDebug, new SceneViewOverlay.WindowFunction(this.DisplayControls), 350, SceneViewOverlay.WindowDisplayOption.OneWindowPerTarget); }