public static void OnSceneGUI(SceneView sceneView) { // TODO: put somewhere else var curSkin = EditorGUIUtility.isProSkin; if (toolbarStyle == null || prevSkin != curSkin) { toolbarStyle = new GUIStyle(EditorStyles.toolbar); toolbarStyle.fixedHeight = kBottomBarHeight; toggleStyle = new GUIStyle(EditorStyles.toolbarButton); toggleStyle.fixedHeight = kBottomBarHeight; buttonStyle = new GUIStyle(EditorStyles.toolbarButton); buttonStyle.fixedHeight = kBottomBarHeight; floatWidthLayout = GUILayout.Width(kFloatFieldWidth); prevSkin = curSkin; ChiselEditorSettings.Load(); } // Calculate size of bottom bar and draw it Rect position = sceneView.position; position.x = 0; position.y = position.height - kBottomBarHeight; position.height = kBottomBarHeight; GUILayout.Window(bottomBarGuiId, position, OnBottomBarUI, "", toolbarStyle); ChiselEditorUtility.ConsumeUnusedMouseEvents(BottomBarGUIHash, position); }
static void InitStyles() { if (styles == null) { ChiselEditorSettings.Load(); styles = new Styles { boxStyle = new GUIStyle(GUI.skin.box), namedToggleStyle = new GUIStyle(GUI.skin.button) { alignment = TextAnchor.MiddleLeft, fixedHeight = kSingleLineHeight - 2, padding = new RectOffset(kButtonPadding, kButtonPadding, kButtonPadding, kButtonPadding), margin = new RectOffset(kButtonMargin, kButtonMargin, kButtonMargin, kButtonMargin) }, toggleStyleLeft = new GUIStyle(EditorStyles.miniButtonLeft) { padding = new RectOffset(kButtonPadding + kButtonMargin, kButtonPadding + kButtonMargin, kButtonPadding, kButtonPadding), margin = new RectOffset(0, 0, kButtonMargin, 0), fixedWidth = kButtonSize + kButtonMargin + kButtonMargin, fixedHeight = kButtonSize, }, toggleStyleMid = new GUIStyle(EditorStyles.miniButtonMid) { padding = new RectOffset(kButtonPadding + kButtonMargin, kButtonPadding + kButtonMargin, kButtonPadding, kButtonPadding), margin = new RectOffset(0, 0, kButtonMargin, 0), fixedWidth = kButtonSize + kButtonMargin + kButtonMargin, fixedHeight = kButtonSize, }, toggleStyleRight = new GUIStyle(EditorStyles.miniButtonRight) { padding = new RectOffset(kButtonPadding + kButtonMargin, kButtonPadding + kButtonMargin, kButtonPadding, kButtonPadding), margin = new RectOffset(0, 0, kButtonMargin, 0), fixedWidth = kButtonSize + kButtonMargin + kButtonMargin, fixedHeight = kButtonSize, }, addStyle = new GUIStyle(GUI.skin.button) { fixedWidth = kButtonSize, fixedHeight = kButtonSize, padding = new RectOffset(kButtonPadding, kButtonPadding, kButtonPadding, kButtonPadding), margin = new RectOffset(kButtonMargin, kButtonMargin, kButtonMargin, kButtonMargin) }, groupTitleStyle = new GUIStyle(EditorStyles.boldLabel) }; styles.boxStyleVerticalMargin = styles.boxStyle.margin.vertical; } }
private static void GridOnSceneGUI(SceneView sceneView) { if (Event.current.type != EventType.Repaint) { return; } if (ShowUnityGrid) { ShowUnityGrid = false; ChiselEditorSettings.Load(); ChiselEditorSettings.ShowGrid = false; ChiselEditorSettings.Save(); } if (Tools.pivotRotation == PivotRotation.Local) { var activeTransform = Selection.activeTransform; var rotation = Tools.handleRotation; var center = (activeTransform && activeTransform.parent) ? activeTransform.parent.position : Vector3.zero; UnitySceneExtensions.Grid.defaultGrid.GridToWorldSpace = Matrix4x4.TRS(center, rotation, Vector3.one); } else { UnitySceneExtensions.Grid.defaultGrid.GridToWorldSpace = Matrix4x4.identity; } if (ChiselEditorSettings.ShowGrid) { var grid = UnitySceneExtensions.Grid.HoverGrid; if (grid != null) { grid.Spacing = UnitySceneExtensions.Grid.defaultGrid.Spacing; } else { grid = UnitySceneExtensions.Grid.ActiveGrid; } grid.Render(sceneView); } if (UnitySceneExtensions.Grid.debugGrid != null) { UnitySceneExtensions.Grid.debugGrid.Render(sceneView); } }
static void InitStyles() { if (styles == null) { ChiselEditorSettings.Load(); styles = new Styles { toggleStyle = new GUIStyle("AppCommand") { padding = new RectOffset(kButtonPadding + kButtonMargin, kButtonPadding, kButtonPadding, kButtonPadding), margin = new RectOffset(0, 0, kButtonMargin, 0), fixedWidth = kButtonSize + kButtonMargin, fixedHeight = kButtonSize, }, toggleStyleLeft = new GUIStyle("AppCommandLeft") { padding = new RectOffset(kButtonPadding + kButtonMargin, kButtonPadding, kButtonPadding, kButtonPadding), margin = new RectOffset(0, 0, kButtonMargin, 0), fixedWidth = kButtonSize + kButtonMargin, fixedHeight = kButtonSize, }, toggleStyleMid = new GUIStyle("AppCommandMid") { padding = new RectOffset(kButtonPadding + kButtonMargin, kButtonPadding, kButtonPadding, kButtonPadding), margin = new RectOffset(0, 0, kButtonMargin, 0), fixedWidth = kButtonSize + kButtonMargin, fixedHeight = kButtonSize, }, toggleStyleRight = new GUIStyle("AppCommandRight") { padding = new RectOffset(kButtonPadding + kButtonMargin, kButtonPadding, kButtonPadding, kButtonPadding), margin = new RectOffset(0, 0, kButtonMargin, 0), fixedWidth = kButtonSize + kButtonMargin, fixedHeight = kButtonSize, }, buttonRowStyle = new GUIStyle(GUIStyle.none) }; } }
public static void Update() { isProSkin = EditorGUIUtility.isProSkin; if (toolbarStyle != null && prevIsProSkin == isProSkin) { return; } isInitialized = true; inspectorLabel = new GUIStyle(GUI.skin.label); inspectorLabel.padding = new RectOffset(kIconSize + kOffsetToText, 0, 0, 0); inspectorSelectedLabel = new GUIStyle(inspectorLabel); if (!isProSkin) { inspectorSelectedLabel.normal.textColor = Color.white; inspectorSelectedLabel.onNormal.textColor = Color.white; } windowStyle = new GUIStyle(GUI.skin.window); toolbarStyle = new GUIStyle(GUI.skin.window); toolbarStyle.fixedHeight = kBottomBarHeight; toolbarStyle.padding = new RectOffset(2, 6, 0, 1); toolbarStyle.contentOffset = Vector2.zero; toggleStyle = new GUIStyle(EditorStyles.toolbarButton); toggleStyle.fixedHeight = kBottomBarHeight - 2; toggleStyle.margin = new RectOffset(0, 0, 1, 0); buttonStyle = new GUIStyle(EditorStyles.toolbarButton); buttonStyle.fixedHeight = kBottomBarHeight - 2; buttonStyle.margin = new RectOffset(0, 0, 1, 0); prevIsProSkin = isProSkin; ChiselEditorSettings.Load(); // <- put somewhere else }
internal static void GridOnSceneGUI(SceneView sceneView) { if (sceneView.showGrid) { sceneView.showGrid = false; ChiselEditorSettings.Load(); ChiselEditorSettings.ShowGrid = true; ChiselEditorSettings.Save(); } var sceneViewGrids = sceneViewGridsProperty?.GetValue(sceneView); GridRenderer.Opacity = gridOpacityProperty?.GetValue(sceneViewGrids) ?? 1.0f; var activeTransform = Selection.activeTransform; if (Tools.pivotRotation == PivotRotation.Local && activeTransform) { var rotation = Tools.handleRotation; var center = (activeTransform && activeTransform.parent) ? activeTransform.parent.position : Vector3.zero; UnitySceneExtensions.Grid.defaultGrid.GridToWorldSpace = Matrix4x4.TRS(center, rotation, Vector3.one); } else { var gridAxis = gridAxisProperty?.GetValue(sceneViewGrids) ?? 1; switch (gridAxis) { case 0: UnitySceneExtensions.Grid.defaultGrid.GridToWorldSpace = UnitySceneExtensions.Grid.XYPlane; break; case 1: UnitySceneExtensions.Grid.defaultGrid.GridToWorldSpace = UnitySceneExtensions.Grid.XZPlane; break; case 2: UnitySceneExtensions.Grid.defaultGrid.GridToWorldSpace = UnitySceneExtensions.Grid.YZPlane; break; } } if (Event.current.type != EventType.Repaint) { return; } if (ChiselEditorSettings.ShowGrid) { var grid = UnitySceneExtensions.Grid.HoverGrid; if (grid != null) { grid.Spacing = UnitySceneExtensions.Grid.defaultGrid.Spacing; } else { grid = UnitySceneExtensions.Grid.ActiveGrid; } grid.Render(sceneView); } if (UnitySceneExtensions.Grid.debugGrid != null) { //static ReflectedInstanceProperty<object> sceneViewGrids = typeof(SceneView).GetProperty<object>("sceneViewGrids"); //static ReflectedInstanceProperty<float> gridOpacity = ReflectionExtensions.GetProperty<float>("SceneViewGrid", "gridOpacity"); UnitySceneExtensions.Grid.debugGrid.Render(sceneView); } }