private void DrawGlobalOptions() { string visibilityDesc = KeybindingManager.instance.GetKeybindingDescription(VISIBILTY_TOGGLE_KEYBINDING_ID); m_isGridVisible = EditorGUIExtensions.IconToggle(EditorTextures.GetTexturePath(EditorTextures.HIDDEN_ICON), EditorTextures.GetTexturePath(EditorTextures.VISIBLE_ICON), m_isGridVisible, "Hide grid " + visibilityDesc, "Show grid " + visibilityDesc); string posSnapDesc = KeybindingManager.instance.GetKeybindingDescription(POSITION_ENABLED_KEYBINDING_ID); m_isPositionSnapEnabled = EditorGUIExtensions.IconToggle(EditorTextures.GetTexturePath(EditorTextures.POSITION_SNAP_DISABLED_ICON), EditorTextures.GetTexturePath(EditorTextures.POSITION_SNAP_ENABLED_ICON), m_isPositionSnapEnabled, "Disable position snapping " + posSnapDesc, "Enable position snapping " + posSnapDesc); string rotSnapDesc = KeybindingManager.instance.GetKeybindingDescription(ROTATION_ENABLED_KEYBINDING_ID); m_isRotationSnapEnabled = EditorGUIExtensions.IconToggle(EditorTextures.GetTexturePath(EditorTextures.ROTATION_SNAP_DISABLED_ICON), EditorTextures.GetTexturePath(EditorTextures.ROTATION_SNAP_ENABLED_ICON), m_isRotationSnapEnabled, "Disable rotation snapping " + rotSnapDesc, "Enable rotation snapping " + rotSnapDesc); EditorGUILayout.BeginVertical(); { EditorGUI.BeginDisabledGroup(!m_isRotationSnapEnabled); { EditorGUIExtensions.DrawIconPrefixedField(EditorTextures.GetTexturePath(EditorTextures.ROTATION_SNAP_ANGLE_ICON), "The angle in degrees used when rotation snapping is enabled", delegate { m_gridData.rotationSnapAngle = EditorGUILayout.FloatField(m_gridData.rotationSnapAngle, GUILayout.MinWidth(MIN_FIELD_WIDTH)); m_gridData.rotationSnapAngle = Mathf.Clamp(m_gridData.rotationSnapAngle, MIN_ROTATION_SNAP_ANGLE, MAX_ROTATION_SNAP_ANGLE); // degree symbol EditorGUILayout.LabelField(('\u00B0').ToString(), GUILayout.Width(UNIT_LABEL_WIDTH)); }); } EditorGUI.EndDisabledGroup(); EditorGUI.BeginChangeCheck(); { string tooltip = (m_gridData.edgeType == GridData.EdgeType.Infinite ? "Display distance as number of grid cells" : "Grid size (number of cells)"); EditorGUIExtensions.DrawIconPrefixedField(EditorTextures.GetTexturePath(EditorTextures.GRIDSIZE_ICON), tooltip, delegate { m_gridData.gridSize = EditorGUILayout.IntField(m_gridData.gridSize, GUILayout.MinWidth(MIN_FIELD_WIDTH)); m_gridData.gridSize = Mathf.Clamp(m_gridData.gridSize, MIN_GRID_SIZE, MAX_GRID_SIZE); EditorGUILayout.LabelField("u", GUILayout.Width(UNIT_LABEL_WIDTH)); }); } if (EditorGUI.EndChangeCheck()) { GridWindow.ResetSceneGrid(); } } EditorGUILayout.EndVertical(); }
private void SelectGridData(GridData data) { m_gridData = data; EditorPrefs.SetString(SELECTED_GRID_DATA_KEY, AssetDatabase.GetAssetPath(m_gridData)); m_planeDrawers = null; ResetDataReferences(); GridWindow.ResetSceneGrid(); }
public void Reset() { CreateSettingsAsset(); m_editorSyncedSettings.ClearPrefs(); m_editorSyncedSettings = null; GetOrCreateSyncedSettings(); m_editorSyncedSettings.Sync(); GridWindow.ResetSceneGrid(); }
public override void OnInspectorGUI() { this.serializedObject.Update(); DrawPropertiesExcluding(this.serializedObject, "m_gridOrigin", "m_gridSize", "m_rotationSnapAngle", "m_xAxisProperties", "m_yAxisProperties", "m_zAxisProperties"); GridData gridData = (GridData)target; gridData.gridOrigin = GridPointField("Origin Point", gridData.gridOrigin); if (GUI.changed) { EditorUtility.SetDirty(target); this.serializedObject.ApplyModifiedProperties(); GridWindow.ResetSceneGrid(); } if (GUILayout.Button("Open Grids MX Toolbar")) { GridWindow.Open(); } }
public void DrawSettingsGUI() { GetOrCreateSyncedSettings(); m_editorSyncedSettings.Update(); DrawProperties(m_editorSyncedSettings.GetPropertiesInclusive( "m_gridWindowLayout", "m_showScrollBars", "m_showDataManagementOptions", "m_showGlobalSnappingOptions", "m_showXAxisOptions", "m_showYAxisOptions", "m_showZAxisOptions", "m_showGridMovementOptions", "m_showGridFollowOptions", "m_xAxisColor", "m_yAxisColor", "m_zAxisColor", "m_majorLineSpacing", "m_majorLineOpacity" )); SerializedProperty unfocusedStyle = m_editorSyncedSettings.GetProperty("m_unfocusedStyle"); EditorGUILayout.PropertyField(unfocusedStyle); EditorGUI.BeginDisabledGroup((GridSettings.VisualStyle)unfocusedStyle.enumValueIndex == GridSettings.VisualStyle.Off); { DrawProperties(m_editorSyncedSettings.GetPropertiesInclusive( "m_unfocusedColor" )); } EditorGUI.EndDisabledGroup(); DrawProperties(m_editorSyncedSettings.GetPropertiesInclusive( "m_measurementUnit" )); SerializedProperty coordinateDisplay = m_editorSyncedSettings.GetProperty("m_coordinateDisplay"); EditorGUILayout.PropertyField(coordinateDisplay); EditorGUI.BeginDisabledGroup((CoordinateDisplay)coordinateDisplay.enumValueIndex == CoordinateDisplay.Off); { DrawProperties(m_editorSyncedSettings.GetPropertiesInclusive( "m_coordinateAnchor", "m_coordinateColor", "m_coordinateSize", "m_useAxisColorForComponents" )); } EditorGUI.EndDisabledGroup(); SerializedProperty majorLineSpacing = m_editorSyncedSettings.GetProperty("m_majorLineSpacing"); SerializedProperty majorLineOpacity = m_editorSyncedSettings.GetProperty("m_majorLineOpacity"); SerializedProperty coordinateSize = m_editorSyncedSettings.GetProperty("m_coordinateSize"); majorLineSpacing.intValue = Mathf.Clamp(majorLineSpacing.intValue, 1, int.MaxValue); majorLineOpacity.floatValue = Mathf.Clamp(majorLineOpacity.floatValue, 0f, 1f); coordinateSize.intValue = Mathf.Clamp(coordinateSize.intValue, 1, int.MaxValue); DrawReferenceLineProperties("m_planeReferenceDisplay", "m_planeReferenceStyle", "m_planeReferenceColor"); DrawReferenceLineProperties("m_axisReferenceDisplay", "m_axisReferenceStyle", "m_axisReferenceColor"); if (GUI.changed) { m_editorSyncedSettings.ApplyModifiedProperties(); GridWindow.RepaintIfOpen(); GridWindow.ResetSceneGrid(); } if (GUILayout.Button("Reset to Defaults")) { Reset(); } if (GUILayout.Button("Open Grids MX Toolbar")) { GridWindow.Open(); } }