コード例 #1
0
            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();
            }
コード例 #2
0
            private void SelectGridData(GridData data)
            {
                m_gridData = data;

                EditorPrefs.SetString(SELECTED_GRID_DATA_KEY, AssetDatabase.GetAssetPath(m_gridData));
                m_planeDrawers = null;
                ResetDataReferences();
                GridWindow.ResetSceneGrid();
            }
コード例 #3
0
            public void Reset()
            {
                CreateSettingsAsset();

                m_editorSyncedSettings.ClearPrefs();
                m_editorSyncedSettings = null;
                GetOrCreateSyncedSettings();
                m_editorSyncedSettings.Sync();

                GridWindow.ResetSceneGrid();
            }
コード例 #4
0
ファイル: GridDataEditor.cs プロジェクト: UnMapache/VT_DEMO
            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();
                }
            }
コード例 #5
0
            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();
                }
            }