コード例 #1
0
        // Inspector GUI shown in the Editor window.  Base class shows BrushSettings by default
        internal override void DrawGUI(BrushSettings brushSettings)
        {
            base.DrawGUI(brushSettings);

            /// Verify dependencies
            VerifyLoadedAssetsIntegrity();

            EditorGUI.BeginChangeCheck();

            /// Interface
            s_UsePivotForPlacement.value = PolyGUILayout.Toggle(m_GCUsePrefabPivot, s_UsePivotForPlacement);

            s_ParentObjectWithSurface.value     = PolyGUILayout.Toggle(m_GCHitSurfaceIsParent, s_ParentObjectWithSurface);
            s_AvoidOverlappingGameObjects.value = PolyGUILayout.Toggle(m_GcAvoidOverlappingGameObjects, s_AvoidOverlappingGameObjects);

            EditorGUI.BeginChangeCheck();
            m_CurrentPaletteIndex = EditorGUILayout.Popup(m_CurrentPaletteIndex, m_AvailablePalettesAsStrings);
            if (EditorGUI.EndChangeCheck())
            {
                if (m_CurrentPaletteIndex >= m_AvailablePalettes.Length)
                {
                    SetPrefabPalette(PrefabPaletteEditor.AddNew());
                }
                else
                {
                    SetPrefabPalette(m_AvailablePalettes[m_CurrentPaletteIndex]);
                }
            }

            using (new GUILayout.HorizontalScope())
            {
                EditorGUILayout.LabelField("Preview Size");
                s_PreviewThumbSize.value = (int)EditorGUILayout.Slider((float)s_PreviewThumbSize, 60f, 128f);
            }

            if (EditorGUI.EndChangeCheck())
            {
                if (m_CurrentPaletteIndex >= m_AvailablePalettes.Length)
                {
                    SetPrefabPalette(PrefabPaletteEditor.AddNew());
                }
                else
                {
                    SetPrefabPalette(m_AvailablePalettes[m_CurrentPaletteIndex]);
                }

                PolybrushSettings.Save();
            }

            using (new GUILayout.VerticalScope())
            {
                if (prefabLoadoutEditor != null)
                {
                    prefabLoadoutEditor.OnInspectorGUI_Internal(s_PreviewThumbSize);
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Store the previous GIWorkflowMode and set the current value to OnDemand (or leave it Legacy).
        /// </summary>
        internal static void PushGIWorkflowMode()
        {
            s_GIWorkflowMode.value = (int)Lightmapping.giWorkflowMode;
            PolybrushSettings.Save();

            if (Lightmapping.giWorkflowMode != Lightmapping.GIWorkflowMode.Legacy)
            {
                Lightmapping.giWorkflowMode = Lightmapping.GIWorkflowMode.OnDemand;
            }
        }
コード例 #3
0
        void SetIsUtilityWindow(bool isUtilityWindow)
        {
            PolybrushSettings.Set <bool>(utilityWindowKey, isUtilityWindow, SettingsScope.Project);
            PolybrushSettings.Save();
            var title = titleContent;

            Close();
            var res = GetWindow(GetType(), isUtilityWindow);

            res.titleContent = title;
        }
コード例 #4
0
        /// <summary>
        /// Store the previous GIWorkflowMode and set the current value to OnDemand (or leave it Legacy).
        /// </summary>
        internal static void PushGIWorkflowMode()
        {
#pragma warning disable 618
            s_GIWorkflowMode.value = (int)Lightmapping.giWorkflowMode;
            PolybrushSettings.Save();

            if (Lightmapping.giWorkflowMode != Lightmapping.GIWorkflowMode.Legacy)
            {
                Lightmapping.giWorkflowMode = Lightmapping.GIWorkflowMode.OnDemand;
            }
#pragma warning restore 618
        }
コード例 #5
0
        public virtual void AddItemsToMenu(GenericMenu menu)
        {
            bool floating = PolybrushSettings.Get <bool>(utilityWindowKey, SettingsScope.Project, false);

            if (menu.GetItemCount() > 1)
            {
                menu.AddSeparator("");
            }

            menu.AddItem(new GUIContent("Open as Floating Window", ""), floating, () => SetIsUtilityWindow(true));
            menu.AddItem(new GUIContent("Open as Dockable Window", ""), !floating, () => SetIsUtilityWindow(false));

            menu.AddSeparator("");
        }
コード例 #6
0
        internal override void DrawGUI(BrushSettings settings)
        {
            base.DrawGUI(settings);

            EditorGUI.BeginChangeCheck();

            s_IgnoreOpenEdges.value = PolyGUILayout.Toggle(BrushModeSculpt.Styles.gcIgnoreOpenEdges, s_IgnoreOpenEdges);
            if (s_SmoothDirection == PolyDirection.BrushNormal)
            {
                s_UseFirstNormalVector.value = PolyGUILayout.Toggle(BrushModeSculpt.Styles.gcBrushNormalIsSticky, s_UseFirstNormalVector);
            }
            s_SmoothDirection.value = (PolyDirection)PolyGUILayout.PopupFieldWithTitle(BrushModeSculpt.Styles.gcDirection,
                                                                                       (int)s_SmoothDirection.value, BrushModeSculpt.Styles.s_BrushDirectionList);

            if (EditorGUI.EndChangeCheck())
            {
                PolybrushSettings.Save();
            }
        }
コード例 #7
0
        internal void OnGUI()
        {
            using (new GUILayout.VerticalScope("box"))
            {
                if (PolyGUILayout.HeaderWithDocsLink(Styles.headerLabel))
                {
                    Application.OpenURL(PrefUtility.documentationBrushMirroringLink);
                }

                using (new GUILayout.HorizontalScope())
                {
                    EditorGUI.BeginChangeCheck();
                    s_MirrorAxes.value  = (BrushMirror)PolyGUILayout.BitMaskField((uint)s_MirrorAxes.value, Styles.axesNameArray, Styles.axesFieldTooltip);
                    s_MirrorSpace.value = (MirrorCoordinateSpace)GUILayout.Toolbar((int)s_MirrorSpace.value, Styles.mirrorSpaces);
                    if (EditorGUI.EndChangeCheck())
                    {
                        PolybrushSettings.Save();
                        RefreshSettings();
                    }
                }
            }
        }
コード例 #8
0
 void SaveUserCurrentLoadouts()
 {
     s_UserLoadout.value = new PrefabLoadout(m_CurrentLoadouts);
     PolybrushSettings.Save();
 }
コード例 #9
0
 protected static bool IsUtilityWindow <T>(bool defaultIsUtility = false) where T : ConfigurableWindow
 {
     return(PolybrushSettings.Get <bool>(typeof(T).ToString() + "-isUtilityWindow", SettingsScope.Project, defaultIsUtility));
 }