public void Draw(UndoParentNode owner, GUIStyle toolbarstyle, bool customBlendAvailable) { Color cachedColor = GUI.color; GUI.color = new Color(cachedColor.r, cachedColor.g, cachedColor.b, 0.5f); EditorGUILayout.BeginHorizontal(toolbarstyle); GUI.color = cachedColor; EditorGUI.BeginChangeCheck(); m_parentSurface.ContainerGraph.ParentWindow.InnerWindowVariables.ExpandedDepth = owner.GUILayoutToggle(m_parentSurface.ContainerGraph.ParentWindow.InnerWindowVariables.ExpandedDepth, DepthParametersStr, UIUtils.MenuItemToggleStyle); if (EditorGUI.EndChangeCheck()) { EditorPrefs.SetBool("ExpandedDepth", m_parentSurface.ContainerGraph.ParentWindow.InnerWindowVariables.ExpandedDepth); } EditorGUILayout.EndHorizontal(); if (m_parentSurface.ContainerGraph.ParentWindow.InnerWindowVariables.ExpandedDepth) { cachedColor = GUI.color; GUI.color = new Color(cachedColor.r, cachedColor.g, cachedColor.b, (EditorGUIUtility.isProSkin ? 0.5f : 0.25f)); EditorGUILayout.BeginVertical(UIUtils.MenuItemBackgroundStyle); GUI.color = cachedColor; EditorGUI.indentLevel++; if (!customBlendAvailable) { EditorGUILayout.HelpBox("Depth Writing is only available for Opaque or Custom blend modes", MessageType.Warning); } EditorGUILayout.Separator(); EditorGUI.BeginDisabledGroup(!customBlendAvailable); m_zWriteMode.EnumTypePopup(ref owner, ZWriteModeStr, ZWriteModeValues); m_zTestMode.EnumTypePopup(ref owner, ZTestModeStr, ZTestModeLabels); //m_zWriteMode = owner.EditorGUILayoutPopup( ZWriteModeStr, m_zWriteMode, ZWriteModeValues ); //m_zTestMode = owner.EditorGUILayoutPopup( ZTestModeStr, m_zTestMode, ZTestModeLabels ); m_offsetEnabled = owner.EditorGUILayoutToggle(OffsetStr, m_offsetEnabled); if (m_offsetEnabled) { EditorGUI.indentLevel++; m_offsetFactor.FloatField(ref owner, OffsetFactorStr); m_offsetUnits.FloatField(ref owner, OffsetUnitsStr); EditorGUI.indentLevel--; } m_extraDepthPass = owner.EditorGUILayoutToggle(ExtraDepthPassStr, m_extraDepthPass); if (m_extraDepthPass) { EditorGUI.indentLevel++; m_extrazTestMode = owner.EditorGUILayoutPopup(DepthZTestStr, m_extrazTestMode, ZTestModeLabels); EditorGUI.indentLevel--; } EditorGUILayout.Separator(); EditorGUI.indentLevel--; EditorGUI.EndDisabledGroup(); EditorGUILayout.EndVertical(); } EditorGUI.EndDisabledGroup(); }
public void Draw( UndoParentNode owner ) { if( m_isVisible ) { int lastOption = m_currentOption: EditorGUI.BeginChangeCheck(): switch( m_options.UIWidget ) { case AseOptionsUIWidget.Dropdown: { m_currentOption = owner.EditorGUILayoutPopup( m_options.Name, m_currentOption, m_options.Options ): } break: case AseOptionsUIWidget.Toggle: { m_currentOption = owner.EditorGUILayoutToggle( m_options.Name, m_currentOption == 1 ) ? 1 : 0: } break: } if( EditorGUI.EndChangeCheck() ) { if( OnActionPerformedEvt != null ) { if( m_invertActionOnDeselection ) OnActionPerformedEvt( false, true, this, m_options.ActionsPerOption[ lastOption ] ): OnActionPerformedEvt( false, false, this, m_options.ActionsPerOption[ m_currentOption ] ): } } } }
public void Draw(UndoParentNode owner) { if (m_isVisible) { int lastOption = m_currentOption; EditorGUI.BeginChangeCheck(); switch (m_options.UIWidget) { case AseOptionsUIWidget.Dropdown: { m_currentOption = owner.EditorGUILayoutPopup(m_options.Name, m_currentOption, m_options.DisplayOptions); } break; case AseOptionsUIWidget.Toggle: { m_currentOption = owner.EditorGUILayoutToggle(m_options.Name, m_currentOption == 1) ? 1 : 0; } break; } if (EditorGUI.EndChangeCheck()) { if (OnActionPerformedEvt != null) { if (m_invertActionOnDeselection) { OnActionPerformedEvt(false, lastOption != m_options.DisableIdx, this, m_options.ActionsPerOption[lastOption]); } OnActionPerformedEvt(false, false, this, m_options.ActionsPerOption[m_currentOption]); } } } }
public void Draw(UndoParentNode owner) { if (m_isVisible) { EditorGUI.BeginChangeCheck(); switch (m_options.UIWidget) { case AseOptionsUIWidget.Dropdown: { m_currentOption = owner.EditorGUILayoutPopup(m_options.Name, m_currentOption, m_options.Options); } break; case AseOptionsUIWidget.Toggle: { m_currentOption = owner.EditorGUILayoutToggle(m_options.Name, m_currentOption == 1) ? 1 : 0; } break; } if (EditorGUI.EndChangeCheck()) { if (OnActionPerformedEvt != null) { OnActionPerformedEvt(this, m_options.ActionsPerOption[m_currentOption]); } } } }
public override void Draw(UndoParentNode owner, bool style = true) { EditorGUI.BeginChangeCheck(); m_inlineAlphaToMask.CustomDrawer(ref owner, (x) => { m_alphaToMask = owner.EditorGUILayoutToggle(AlphaToMaskStr, m_alphaToMask); }, AlphaToMaskStr); if (EditorGUI.EndChangeCheck()) { m_inlineAlphaToMask.IntValue = m_alphaToMask ? 1 : 0; m_isDirty = true; } }
public static bool DrawPropertyGroup(UndoParentNode owner, ref bool foldoutValue, ref bool enabledValue, string sectionName, DrawPropertySection DrawSection) { bool enableChanged = false; Color cachedColor = GUI.color; GUI.color = new Color(cachedColor.r, cachedColor.g, cachedColor.b, 0.5f); EditorGUILayout.BeginHorizontal(UIUtils.MenuItemToolbarStyle); GUI.color = cachedColor; bool value = GUILayout.Toggle(foldoutValue, sectionName, UIUtils.MenuItemToggleStyle, GUILayout.ExpandWidth(true)); if (Event.current.button == Constants.FoldoutMouseId) { foldoutValue = value; } EditorGUI.BeginChangeCheck(); value = ((object)owner != null) ? owner.EditorGUILayoutToggle(string.Empty, enabledValue, UIUtils.MenuItemEnableStyle, GUILayout.Width(16)) : EditorGUILayout.Toggle(string.Empty, enabledValue, UIUtils.MenuItemEnableStyle, GUILayout.Width(16)); if (Event.current.button == Constants.FoldoutMouseId) { enabledValue = value; } if (EditorGUI.EndChangeCheck()) { enableChanged = true; } EditorGUILayout.EndHorizontal(); if (foldoutValue) { cachedColor = GUI.color; GUI.color = new Color(cachedColor.r, cachedColor.g, cachedColor.b, (EditorGUIUtility.isProSkin ? 0.5f : 0.25f)); EditorGUILayout.BeginVertical(UIUtils.MenuItemBackgroundStyle); GUI.color = cachedColor; EditorGUILayout.Separator(); EditorGUI.BeginDisabledGroup(!enabledValue); EditorGUI.indentLevel += 1; DrawSection(); EditorGUI.indentLevel -= 1; EditorGUI.EndDisabledGroup(); EditorGUILayout.Separator(); EditorGUILayout.EndVertical(); } return(enableChanged); }
void DrawBlock(UndoParentNode owner) { EditorGUI.BeginChangeCheck(); var cache = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = EditorGUIUtility.labelWidth - 20; Color cachedColor = GUI.color; GUI.color = new Color(cachedColor.r, cachedColor.g, cachedColor.b, (EditorGUIUtility.isProSkin ? 0.5f : 0.25f)); //EditorGUILayout.BeginVertical( UIUtils.MenuItemBackgroundStyle ); GUI.color = cachedColor; EditorGUILayout.Separator(); if (m_validZWrite) { m_zWriteMode.EnumTypePopup(ref owner, ZBufferOpHelper.ZWriteModeStr, ZBufferOpHelper.ZWriteModeValues); } if (m_validZTest) { m_zTestMode.EnumTypePopup(ref owner, ZBufferOpHelper.ZTestModeStr, ZBufferOpHelper.ZTestModeLabels); } if (m_validOffset) { m_offsetEnabled = owner.EditorGUILayoutToggle(ZBufferOpHelper.OffsetStr, m_offsetEnabled); if (m_offsetEnabled) { EditorGUI.indentLevel++; m_offsetFactor.FloatField(ref owner, ZBufferOpHelper.OffsetFactorStr); m_offsetUnits.FloatField(ref owner, ZBufferOpHelper.OffsetUnitsStr); EditorGUI.indentLevel--; } } EditorGUILayout.Separator(); EditorGUIUtility.labelWidth = cache; //EditorGUILayout.EndVertical(); if (EditorGUI.EndChangeCheck()) { m_isDirty = true; CustomEdited = true; } }
public void Draw(UndoParentNode owner) { bool visible = EditorVariablesManager.ExpandedVertexOptions.Value; bool enabled = m_isBillboard; NodeUtils.DrawPropertyGroup(owner, ref visible, ref m_isBillboard, BillboardTitleStr, () => { m_billboardType = ( BillboardType )owner.EditorGUILayoutEnumPopup(BillboardTypeStr, m_billboardType); m_rotationIndependent = owner.EditorGUILayoutToggle(BillboardRotIndStr, m_rotationIndependent); }); EditorVariablesManager.ExpandedVertexOptions.Value = visible; if (m_isBillboard != enabled) { UIUtils.RequestSave(); } }
public void Draw(UndoParentNode owner, ref List <CustomTagData> currentTags) { if (m_isLocked) { return; } if (m_reanalyzeTags) { if ((EditorApplication.timeSinceStartup - m_timeSinceReanalyzeCheck) > ReanalizeTreshold) { m_reanalyzeTags = false; AnalyzeTags(ref currentTags, true); } } EditorGUI.BeginChangeCheck(); m_enable = owner.EditorGUILayoutToggle(EnableStr, m_enable); if (EditorGUI.EndChangeCheck()) { if (m_enable) { AnalyzeTags(ref currentTags, true); } } bool guiEnabled = GUI.enabled; GUI.enabled = m_enable; EditorGUI.BeginChangeCheck(); m_currentRenderType = (RenderType)owner.EditorGUILayoutEnumPopup(RenderTypeStr, m_currentRenderType); if (EditorGUI.EndChangeCheck()) { currentTags[m_renderTypeIndex].TagValue = m_currentRenderType.ToString(); } EditorGUI.BeginChangeCheck(); m_currentRenderQueue = (RenderQueue)owner.EditorGUILayoutEnumPopup(RenderQueueStr, m_currentRenderQueue); if (EditorGUI.EndChangeCheck()) { currentTags[m_renderQueueIndex].TagValue = m_currentRenderQueue.ToString(); } GUI.enabled = guiEnabled; }
void DrawBlock( UndoParentNode owner ) { EditorGUI.BeginChangeCheck(): Color cachedColor = GUI.color: GUI.color = new Color( cachedColor.r, cachedColor.g, cachedColor.b, ( EditorGUIUtility.isProSkin ? 0.5f : 0.25f ) ): //EditorGUILayout.BeginVertical( UIUtils.MenuItemBackgroundStyle ): GUI.color = cachedColor: EditorGUILayout.Separator(): if( m_validZWrite ) m_zWriteMode.EnumTypePopup( ref owner, ZBufferOpHelper.ZWriteModeStr, ZBufferOpHelper.ZWriteModeValues ): if( m_validZTest ) m_zTestMode.EnumTypePopup( ref owner, ZBufferOpHelper.ZTestModeStr, ZBufferOpHelper.ZTestModeLabels ): if( m_validOffset ) { m_offsetEnabled = owner.EditorGUILayoutToggle( ZBufferOpHelper.OffsetStr, m_offsetEnabled ): if( m_offsetEnabled ) { EditorGUI.indentLevel++: m_offsetFactor.FloatField( ref owner , ZBufferOpHelper.OffsetFactorStr ): m_offsetUnits.FloatField( ref owner , ZBufferOpHelper.OffsetUnitsStr): EditorGUI.indentLevel--: } } EditorGUILayout.Separator(): //EditorGUILayout.EndVertical(): if( EditorGUI.EndChangeCheck() ) { m_isDirty = true: } }
void DrawBlock( UndoParentNode owner, bool style ) { EditorGUI.BeginChangeCheck(): { if( m_blendModeEnabled ) { // RGB EditorGUI.BeginChangeCheck(): m_currentRGBIndex = owner.EditorGUILayoutPopup( BlendModesRGBStr, m_currentRGBIndex, m_commonBlendTypesArr ): if( EditorGUI.EndChangeCheck() ) { if( m_currentRGBIndex > 1 ) { m_sourceFactorRGB = m_commonBlendTypes[ m_currentRGBIndex ].SourceFactor: m_sourceFactorRGBInline.IntValue = (int)m_sourceFactorRGB: m_sourceFactorRGBInline.SetInlineNodeValue(): m_destFactorRGB = m_commonBlendTypes[ m_currentRGBIndex ].DestFactor: m_destFactorRGBInline.IntValue = (int)m_destFactorRGB: m_destFactorRGBInline.SetInlineNodeValue(): } } EditorGUI.BeginDisabledGroup( m_currentRGBIndex == 0 ): EditorGUI.BeginChangeCheck(): float cached = EditorGUIUtility.labelWidth: if( style ) { EditorGUIUtility.labelWidth = 40: } else { EditorGUIUtility.labelWidth = 25: } EditorGUILayout.BeginHorizontal(): //m_sourceFactorRGB = (AvailableBlendFactor)owner.EditorGUILayoutEnumPopup( SourceFactorStr, m_sourceFactorRGB ): m_sourceFactorRGBInline.CustomDrawer( ref owner, ( x ) => { m_sourceFactorRGB = (AvailableBlendFactor)x.EditorGUILayoutEnumPopup( SourceFactorStr, m_sourceFactorRGB ): }, SourceFactorStr ): if( style ) { EditorGUI.indentLevel--: EditorGUIUtility.labelWidth = 25: } //m_destFactorRGB = (AvailableBlendFactor)owner.EditorGUILayoutEnumPopup( DstFactorStr, m_destFactorRGB ): m_destFactorRGBInline.CustomDrawer( ref owner, ( x ) => { m_destFactorRGB = (AvailableBlendFactor)x.EditorGUILayoutEnumPopup( DstFactorStr, m_destFactorRGB ): }, DstFactorStr ): if( style ) EditorGUI.indentLevel++: EditorGUILayout.EndHorizontal(): EditorGUIUtility.labelWidth = cached: if( EditorGUI.EndChangeCheck() ) { CheckRGBIndex(): } EditorGUI.EndDisabledGroup(): // Alpha EditorGUILayout.Separator(): EditorGUI.BeginChangeCheck(): m_currentAlphaIndex = owner.EditorGUILayoutPopup( BlendModesAlphaStr, m_currentAlphaIndex, m_commonBlendTypesArr ): if( EditorGUI.EndChangeCheck() ) { if( m_currentAlphaIndex > 0 ) { m_sourceFactorAlpha = m_commonBlendTypes[ m_currentAlphaIndex ].SourceFactor: m_sourceFactorAlphaInline.IntValue = (int)m_sourceFactorAlpha: m_sourceFactorAlphaInline.SetInlineNodeValue(): m_destFactorAlpha = m_commonBlendTypes[ m_currentAlphaIndex ].DestFactor: m_destFactorAlphaInline.IntValue = (int)m_destFactorAlpha: m_destFactorAlphaInline.SetInlineNodeValue(): } } EditorGUI.BeginDisabledGroup( m_currentAlphaIndex == 0 ): EditorGUI.BeginChangeCheck(): cached = EditorGUIUtility.labelWidth: if( style ) { EditorGUIUtility.labelWidth = 40: } else { EditorGUIUtility.labelWidth = 25: } EditorGUILayout.BeginHorizontal(): //m_sourceFactorAlpha = (AvailableBlendFactor)owner.EditorGUILayoutEnumPopup( SourceFactorStr, m_sourceFactorAlpha ): m_sourceFactorAlphaInline.CustomDrawer( ref owner, ( x ) => { m_sourceFactorAlpha = (AvailableBlendFactor)x.EditorGUILayoutEnumPopup( SourceFactorStr, m_sourceFactorAlpha ): }, SourceFactorStr ): if( style ) { EditorGUI.indentLevel--: EditorGUIUtility.labelWidth = 25: } //m_destFactorAlpha = (AvailableBlendFactor)owner.EditorGUILayoutEnumPopup( DstFactorStr, m_destFactorAlpha ): m_destFactorAlphaInline.CustomDrawer( ref owner, ( x ) => { m_destFactorAlpha = (AvailableBlendFactor)x.EditorGUILayoutEnumPopup( DstFactorStr, m_destFactorAlpha ): }, DstFactorStr ): if( style ) EditorGUI.indentLevel++: EditorGUILayout.EndHorizontal(): EditorGUIUtility.labelWidth = cached: if( EditorGUI.EndChangeCheck() ) { CheckAlphaIndex(): } EditorGUI.EndDisabledGroup(): EditorGUILayout.Separator(): } if( m_blendOpEnabled ) { // Both these tests should be removed on a later stage // ASE v154dev004 changed AvailableBlendOps.OFF value from -1 to 0 // If importing the new package into an already opened ASE window makes // hotcode to preserve the -1 value on these variables if( (int)m_blendOpRGB == -1 ) m_blendOpRGB = AvailableBlendOps.OFF: if( (int)m_blendOpAlpha == -1 ) m_blendOpAlpha = AvailableBlendOps.OFF: //m_blendOpRGB = (AvailableBlendOps)owner.EditorGUILayoutEnumPopup( BlendOpsRGBStr, m_blendOpRGB ): m_blendOpRGBInline.CustomDrawer( ref owner, ( x ) => { m_blendOpRGB = (AvailableBlendOps)x.EditorGUILayoutPopup( BlendOpsRGBStr, (int)m_blendOpRGB, BlendOpsHelper.BlendOpsLabels ): }, BlendOpsRGBStr ): EditorGUILayout.Separator(): //m_blendOpAlpha = (AvailableBlendOps)owner.EditorGUILayoutEnumPopup( BlendOpsAlphaStr, m_blendOpAlpha ): m_blendOpAlphaInline.CustomDrawer( ref owner, ( x ) => { m_blendOpAlpha = (AvailableBlendOps)x.EditorGUILayoutPopup( BlendOpsAlphaStr, (int)m_blendOpAlpha, BlendOpsHelper.BlendOpsLabels ): }, BlendOpsAlphaStr ): } if( m_validAlphaToMask ) { EditorGUILayout.Space(): m_alphaToMaskValue = owner.EditorGUILayoutToggle( AlphaToMaskStr, m_alphaToMaskValue ): } } if( EditorGUI.EndChangeCheck() ) { m_isDirty = true: } }
public void Draw(UndoParentNode owner) { #if UNITY_2018_1_OR_NEWER m_enable = owner.EditorGUILayoutToggle(DrawInstancedLabel, m_enable); #endif }
public void Draw(UndoParentNode owner) { if (m_isVisible) { int lastOption = m_currentOption; EditorGUI.BeginChangeCheck(); switch (m_options.UIWidget) { case AseOptionsUIWidget.Dropdown: { m_currentOption = owner.EditorGUILayoutPopup(m_options.Name, m_currentOption, m_options.DisplayOptions); } break; case AseOptionsUIWidget.Toggle: { m_currentOption = owner.EditorGUILayoutToggle(m_options.Name, m_currentOption == 1) ? 1 : 0; } break; case AseOptionsUIWidget.Float: { if (m_options.FieldInline) { m_options.FieldValue.FloatField(ref owner, m_options.Name); if (m_options.FieldValue.Active) { m_currentOption = 1; } else { m_currentOption = 0; } } else { m_options.FieldValue.FloatValue = owner.EditorGUILayoutFloatField(m_options.Name, m_options.FieldValue.FloatValue); } } break; case AseOptionsUIWidget.Int: { if (m_options.FieldInline) { m_options.FieldValue.IntField(ref owner, m_options.Name); if (m_options.FieldValue.Active) { m_currentOption = 1; } else { m_currentOption = 0; } } else { m_options.FieldValue.FloatValue = owner.EditorGUILayoutIntField(m_options.Name, (int)m_options.FieldValue.FloatValue); } } break; case AseOptionsUIWidget.FloatRange: { if (m_options.FieldInline) { m_options.FieldValue.SliderField(ref owner, m_options.Name, m_options.FieldMin, m_options.FieldMax); if (m_options.FieldValue.Active) { m_currentOption = 1; } else { m_currentOption = 0; } } else { m_options.FieldValue.FloatValue = owner.EditorGUILayoutSlider(m_options.Name, m_options.FieldValue.FloatValue, m_options.FieldMin, m_options.FieldMax); } } break; case AseOptionsUIWidget.IntRange: { if (m_options.FieldInline) { m_options.FieldValue.IntSlider(ref owner, m_options.Name, (int)m_options.FieldMin, (int)m_options.FieldMax); if (m_options.FieldValue.Active) { m_currentOption = 1; } else { m_currentOption = 0; } } else { m_options.FieldValue.FloatValue = owner.EditorGUILayoutIntSlider(m_options.Name, (int)m_options.FieldValue.FloatValue, (int)m_options.FieldMin, (int)m_options.FieldMax); } } break; } if (EditorGUI.EndChangeCheck()) { if (OnActionPerformedEvt != null) { if (m_invertActionOnDeselection) { OnActionPerformedEvt(false, lastOption != m_options.DisableIdx, this, m_options.ActionsPerOption[lastOption]); } OnActionPerformedEvt(false, false, this, m_options.ActionsPerOption[m_currentOption]); } } } }
//private int m_orderIndex = 1000; public void Draw(UndoParentNode owner, GUIStyle toolbarstyle, Material mat, bool connectedInput) { Color cachedColor = GUI.color; GUI.color = new Color(cachedColor.r, cachedColor.g, cachedColor.b, 0.5f); EditorGUILayout.BeginHorizontal(toolbarstyle); GUI.color = cachedColor; EditorGUI.BeginChangeCheck(); m_parentSurface.ContainerGraph.ParentWindow.ExpandedTesselation = GUILayout.Toggle(m_parentSurface.ContainerGraph.ParentWindow.ExpandedTesselation, " Tessellation", UIUtils.MenuItemToggleStyle, GUILayout.ExpandWidth(true)); if (EditorGUI.EndChangeCheck()) { EditorPrefs.SetBool("ExpandedTesselation", m_parentSurface.ContainerGraph.ParentWindow.ExpandedTesselation); } EditorGUI.BeginChangeCheck(); m_enabled = owner.EditorGUILayoutToggle(string.Empty, m_enabled, UIUtils.MenuItemEnableStyle, GUILayout.Width(16)); if (EditorGUI.EndChangeCheck()) { if (m_enabled) { UpdateToMaterial(mat, !connectedInput); } UIUtils.RequestSave(); } EditorGUILayout.EndHorizontal(); m_enabled = m_enabled || connectedInput; if (m_parentSurface.ContainerGraph.ParentWindow.ExpandedTesselation) { cachedColor = GUI.color; GUI.color = new Color(cachedColor.r, cachedColor.g, cachedColor.b, (EditorGUIUtility.isProSkin ? 0.5f : 0.25f)); EditorGUILayout.BeginVertical(UIUtils.MenuItemBackgroundStyle); GUI.color = cachedColor; EditorGUILayout.Separator(); EditorGUI.BeginDisabledGroup(!m_enabled); EditorGUI.indentLevel += 1; m_phongEnabled = owner.EditorGUILayoutToggle(PhongEnableContent, m_phongEnabled); if (m_phongEnabled) { EditorGUI.indentLevel += 1; EditorGUI.BeginChangeCheck(); m_phongStrength = owner.EditorGUILayoutSlider(PhongStrengthContent, m_phongStrength, 0.0f, 1.0f); if (EditorGUI.EndChangeCheck() && mat != null) { if (mat.HasProperty(PhongStrengthUniformName)) { mat.SetFloat(PhongStrengthUniformName, m_phongStrength); } } EditorGUI.indentLevel -= 1; } bool guiEnabled = GUI.enabled; GUI.enabled = !connectedInput && m_enabled; m_tessType = owner.EditorGUILayoutIntPopup(TesselationTypeStr, m_tessType, TesselationTypeLabels, TesselationTypeValues); switch (m_tessType) { case 0: { EditorGUI.BeginChangeCheck(); m_tessFactor = owner.EditorGUILayoutSlider(TessFactorContent, m_tessFactor, 1, 32); if (EditorGUI.EndChangeCheck() && mat != null) { if (mat.HasProperty(TessUniformName)) { mat.SetFloat(TessUniformName, m_tessFactor); } } EditorGUI.BeginChangeCheck(); m_tessMinDistance = owner.EditorGUILayoutFloatField(TessMinDistanceContent, m_tessMinDistance); if (EditorGUI.EndChangeCheck() && mat != null) { if (mat.HasProperty(TessMinUniformName)) { mat.SetFloat(TessMinUniformName, m_tessMinDistance); } } EditorGUI.BeginChangeCheck(); m_tessMaxDistance = owner.EditorGUILayoutFloatField(TessMaxDistanceContent, m_tessMaxDistance); if (EditorGUI.EndChangeCheck() && mat != null) { if (mat.HasProperty(TessMaxUniformName)) { mat.SetFloat(TessMaxUniformName, m_tessMaxDistance); } } } break; case 1: { EditorGUI.BeginChangeCheck(); m_tessFactor = owner.EditorGUILayoutSlider(TessFactorContent, m_tessFactor, 1, 32); if (EditorGUI.EndChangeCheck() && mat != null) { if (mat.HasProperty(TessUniformName)) { mat.SetFloat(TessUniformName, m_tessFactor); } } } break; case 2: { EditorGUI.BeginChangeCheck(); m_tessFactor = owner.EditorGUILayoutSlider(EdgeLengthContent, m_tessFactor, 2, 50); if (EditorGUI.EndChangeCheck() && mat != null) { if (mat.HasProperty(EdgeLengthTessUniformName)) { mat.SetFloat(EdgeLengthTessUniformName, m_tessFactor); } } } break; case 3: { EditorGUI.BeginChangeCheck(); m_tessFactor = owner.EditorGUILayoutSlider(EdgeLengthContent, m_tessFactor, 2, 50); if (EditorGUI.EndChangeCheck() && mat != null) { if (mat.HasProperty(EdgeLengthTessUniformName)) { mat.SetFloat(EdgeLengthTessUniformName, m_tessFactor); } } EditorGUI.BeginChangeCheck(); m_tessMaxDistance = owner.EditorGUILayoutFloatField(EdgeLengthTessMaxDisplacementContent, m_tessMaxDistance); if (EditorGUI.EndChangeCheck() && mat != null) { if (mat.HasProperty(TessMinUniformName)) { mat.SetFloat(TessMinUniformName, m_tessMaxDistance); } } } break; } GUI.enabled = guiEnabled; EditorGUI.indentLevel -= 1; EditorGUI.EndDisabledGroup(); EditorGUILayout.Separator(); EditorGUILayout.EndVertical(); } }
public void Draw(UndoParentNode owner, GUIStyle toolbarstyle, Material mat) { Color cachedColor = GUI.color; GUI.color = new Color(cachedColor.r, cachedColor.g, cachedColor.b, 0.5f); EditorGUILayout.BeginHorizontal(toolbarstyle); GUI.color = cachedColor; EditorVariablesManager.OutlineActiveMode.Value = owner.GUILayoutToggle(EditorVariablesManager.OutlineActiveMode.Value, EditorVariablesManager.OutlineActiveMode.LabelName, UIUtils.MenuItemToggleStyle, GUILayout.ExpandWidth(true)); EditorGUI.BeginChangeCheck(); m_enabled = owner.EditorGUILayoutToggle(string.Empty, m_enabled, UIUtils.MenuItemEnableStyle, GUILayout.Width(16)); if (EditorGUI.EndChangeCheck()) { if (m_enabled) { UpdateToMaterial(mat); } UIUtils.RequestSave(); } EditorGUILayout.EndHorizontal(); if (EditorVariablesManager.OutlineActiveMode.Value) { cachedColor = GUI.color; GUI.color = new Color(cachedColor.r, cachedColor.g, cachedColor.b, (EditorGUIUtility.isProSkin ? 0.5f : 0.25f)); EditorGUILayout.BeginVertical(UIUtils.MenuItemBackgroundStyle); GUI.color = cachedColor; EditorGUILayout.Separator(); EditorGUI.BeginDisabledGroup(!m_enabled); EditorGUI.indentLevel += 1; { m_mode = (OutlineMode)owner.EditorGUILayoutEnumPopup(ModePropertyStr, m_mode); EditorGUI.BeginChangeCheck(); m_outlineColor = owner.EditorGUILayoutColorField(OutlineColorLabel, m_outlineColor); if (EditorGUI.EndChangeCheck() && mat != null) { if (mat.HasProperty(ColorPropertyName)) { mat.SetColor(ColorPropertyName, m_outlineColor); } } EditorGUI.BeginChangeCheck(); m_outlineWidth = owner.EditorGUILayoutFloatField(OutlineWidthLabel, m_outlineWidth); if (EditorGUI.EndChangeCheck() && mat != null) { if (mat.HasProperty(WidthPropertyName)) { mat.SetFloat(WidthPropertyName, m_outlineWidth); } } m_noFog = owner.EditorGUILayoutToggle(NoFogStr, m_noFog); } EditorGUI.indentLevel -= 1; EditorGUI.EndDisabledGroup(); EditorGUILayout.Separator(); EditorGUILayout.EndVertical(); } }