static CinemachineSettings() { if (CinemachineCoreSettings.CoreGUIEnabled) { CinemachineCoreDebugger.AttachDebugger(); } if (CinemachineLogoTexture != null) { EditorApplication.hierarchyWindowItemOnGUI += OnHierarchyGUI; } }
private static void OnGUI() { if (CinemachineHeader != null) { const float kWidth = 350f; float aspectRatio = (float)CinemachineHeader.height / (float)CinemachineHeader.width; GUILayout.BeginScrollView(Vector2.zero, false, false, GUILayout.Width(kWidth), GUILayout.Height(kWidth * aspectRatio)); Rect texRect = new Rect(0f, 0f, kWidth, kWidth * aspectRatio); GUILayout.BeginArea(texRect); GUI.DrawTexture(texRect, CinemachineHeader, ScaleMode.ScaleToFit); GUILayout.EndArea(); GUILayout.EndScrollView(); } sScrollPosition = GUILayout.BeginScrollView(sScrollPosition); //CinemachineCoreSettings.ShowHiddenObjects // = EditorGUILayout.Toggle(sCoreShowHiddenObjectsToggle, CinemachineCoreSettings.ShowHiddenObjects); ShowCoreSettings = EditorGUILayout.Foldout(ShowCoreSettings, "Runtime Settings"); if (ShowCoreSettings) { EditorGUI.indentLevel++; EditorGUI.BeginChangeCheck(); bool coreGUIEnabled = EditorGUILayout.Toggle(sCoreGUIToggle, CinemachineCoreSettings.CoreGUIEnabled); if (EditorGUI.EndChangeCheck()) { CinemachineCoreSettings.CoreGUIEnabled = coreGUIEnabled; if (CinemachineCoreSettings.CoreGUIEnabled) { CinemachineCoreDebugger.AttachDebugger(); } else { CinemachineCoreDebugger.RemoveDebugger(); } } EditorGUILayout.BeginHorizontal(); EditorGUI.BeginChangeCheck(); Color newActiveGizmoColour = EditorGUILayout.ColorField(sCoreActiveGizmosColour, CinemachineCoreSettings.ActiveGizmoColour); if (EditorGUI.EndChangeCheck()) { CinemachineCoreSettings.ActiveGizmoColour = newActiveGizmoColour; UnityEditorInternal.InternalEditorUtility.RepaintAllViews(); } if (GUILayout.Button("Reset")) { CinemachineCoreSettings.ActiveGizmoColour = CinemachineCoreSettings.kDefaultActiveColour; } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUI.BeginChangeCheck(); Color newInactiveGizmoColour = EditorGUILayout.ColorField(sCoreInactiveGizmosColour, CinemachineCoreSettings.InactiveGizmoColour); if (EditorGUI.EndChangeCheck()) { CinemachineCoreSettings.InactiveGizmoColour = newInactiveGizmoColour; UnityEditorInternal.InternalEditorUtility.RepaintAllViews(); } if (GUILayout.Button("Reset")) { CinemachineCoreSettings.InactiveGizmoColour = CinemachineCoreSettings.kDefaultInactiveColour; } EditorGUILayout.EndHorizontal(); EditorGUI.indentLevel--; } ShowComposerSettings = EditorGUILayout.Foldout(ShowComposerSettings, "Composer Settings"); if (ShowComposerSettings) { EditorGUI.indentLevel++; EditorGUILayout.BeginHorizontal(); EditorGUI.BeginChangeCheck(); float overlayOpacity = EditorGUILayout.Slider(sComposerOverlayOpacity, ComposerSettings.OverlayOpacity, 0f, 1f); if (EditorGUI.EndChangeCheck()) { ComposerSettings.OverlayOpacity = overlayOpacity; } if (GUILayout.Button("Reset")) { ComposerSettings.OverlayOpacity = ComposerSettings.kDefaultOverlayOpacity; } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUI.BeginChangeCheck(); Color newHardEdgeColor = EditorGUILayout.ColorField(sComposerHardBoundsOverlay, ComposerSettings.HardBoundsOverlayColour); if (EditorGUI.EndChangeCheck()) { ComposerSettings.HardBoundsOverlayColour = newHardEdgeColor; } if (GUILayout.Button("Reset")) { ComposerSettings.HardBoundsOverlayColour = ComposerSettings.kDefaultHardBoundsColour; } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUI.BeginChangeCheck(); Color newSoftEdgeColor = EditorGUILayout.ColorField(sComposerSoftBoundsOverlay, ComposerSettings.SoftBoundsOverlayColour); if (EditorGUI.EndChangeCheck()) { ComposerSettings.SoftBoundsOverlayColour = newSoftEdgeColor; } if (GUILayout.Button("Reset")) { ComposerSettings.SoftBoundsOverlayColour = ComposerSettings.kDefaultSoftBoundsColour; } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUI.BeginChangeCheck(); Color newTargetColour = EditorGUILayout.ColorField(sComposerTargetOverlay, ComposerSettings.TargetColour); if (EditorGUI.EndChangeCheck()) { ComposerSettings.TargetColour = newTargetColour; } if (GUILayout.Button("Reset")) { ComposerSettings.TargetColour = ComposerSettings.kDefaultTargetColour; } EditorGUILayout.EndHorizontal(); EditorGUI.BeginChangeCheck(); float targetSide = EditorGUILayout.FloatField(sComposerTargetOverlayPixels, ComposerSettings.TargetSize); if (EditorGUI.EndChangeCheck()) { ComposerSettings.TargetSize = targetSide; } EditorGUI.indentLevel--; } if (AdditionalCategories != null) { AdditionalCategories(); } GUILayout.EndScrollView(); if (GUILayout.Button("Open Documentation")) { Application.OpenURL(kCinemachineDocURL); } }