void DrawMain() { m_filterMode = (InlineSamplerFilteringMode)m_owner.EditorGUILayoutEnumPopup(m_filterMode); EditorGUILayout.BeginHorizontal(); m_mainWrapMode.WrapMode = (InlineSamplerWrapMode)m_owner.EditorGUILayoutEnumPopup(m_mainWrapMode.WrapMode); m_mainWrapMode.Coordinates = (InlineSamplerWrapCoordinates)m_owner.EditorGUILayoutEnumPopup(m_mainWrapMode.Coordinates); EditorGUILayout.EndHorizontal(); NodeUtils.DrawNestedPropertyGroup(ref m_visibleWrapsFoldout, AdditionalWrapsStr, DrawAdditionalWrapModes, DrawAddRemoveButtons); }
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; }
public override void Draw(UndoParentNode owner, bool style = true) { EditorGUI.BeginChangeCheck(); //m_cullMode = (CullMode)owner.EditorGUILayoutEnumPopup( CullModeStr, m_cullMode ); m_inlineCullMode.CustomDrawer(ref owner, (x) => { m_cullMode = (CullMode)owner.EditorGUILayoutEnumPopup(CullModeStr, m_cullMode); }, CullModeStr); if (EditorGUI.EndChangeCheck()) { m_inlineCullMode.IntValue = (int)m_cullMode; m_isDirty = 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, bool customBlendAvailable) { m_enabled = customBlendAvailable; // RGB EditorGUI.BeginChangeCheck(); m_currentIndex = owner.EditorGUILayoutPopup(BlendModesRGBStr, m_currentIndex, m_commonBlendTypesArr); if (EditorGUI.EndChangeCheck()) { if (m_currentIndex > 1) { m_sourceFactorRGB = m_commonBlendTypes[m_currentIndex].SourceFactor; m_destFactorRGB = m_commonBlendTypes[m_currentIndex].DestFactor; } } EditorGUI.BeginDisabledGroup(m_currentIndex == 0); EditorGUI.BeginChangeCheck(); float cached = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 40; EditorGUILayout.BeginHorizontal(); m_sourceFactorRGB = (AvailableBlendFactor)owner.EditorGUILayoutEnumPopup(SourceFactorStr, m_sourceFactorRGB); EditorGUI.indentLevel--; EditorGUIUtility.labelWidth = 25; m_destFactorRGB = (AvailableBlendFactor)owner.EditorGUILayoutEnumPopup(DstFactorStr, m_destFactorRGB); EditorGUI.indentLevel++; EditorGUILayout.EndHorizontal(); EditorGUIUtility.labelWidth = cached; if (EditorGUI.EndChangeCheck()) { CheckRGBIndex(); } EditorGUI.BeginChangeCheck(); m_blendOpRGB = (AvailableBlendOps)owner.EditorGUILayoutEnumPopup(BlendOpsRGBStr, m_blendOpRGB); if (EditorGUI.EndChangeCheck()) { m_blendOpEnabled = m_blendOpRGB != AvailableBlendOps.OFF; } EditorGUI.EndDisabledGroup(); //if ( m_currentIndex == 0 ) // m_currentAlphaIndex = 0; //if ( m_blendOpRGB == AvailableBlendOps.OFF ) // m_blendOpAlpha = AvailableBlendOps.OFF; // Alpha EditorGUILayout.Separator(); //EditorGUI.BeginDisabledGroup( m_currentAlphaIndex == 0 ); 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_destFactorAlpha = m_commonBlendTypes[m_currentAlphaIndex].DestFactor; } } //EditorGUI.EndDisabledGroup(); EditorGUI.BeginDisabledGroup(m_currentAlphaIndex == 0); //EditorGUI.BeginDisabledGroup( m_currentAlphaIndex == 0 ); EditorGUI.BeginChangeCheck(); cached = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 40; EditorGUILayout.BeginHorizontal(); m_sourceFactorAlpha = (AvailableBlendFactor)owner.EditorGUILayoutEnumPopup(SourceFactorStr, m_sourceFactorAlpha); EditorGUI.indentLevel--; EditorGUIUtility.labelWidth = 25; m_destFactorAlpha = (AvailableBlendFactor)owner.EditorGUILayoutEnumPopup(DstFactorStr, m_destFactorAlpha); EditorGUI.indentLevel++; EditorGUILayout.EndHorizontal(); EditorGUIUtility.labelWidth = cached; if (EditorGUI.EndChangeCheck()) { CheckAlphaIndex(); } m_blendOpAlpha = (AvailableBlendOps)owner.EditorGUILayoutEnumPopup(BlendOpsAlphaStr, m_blendOpAlpha); EditorGUI.EndDisabledGroup(); EditorGUILayout.Separator(); }
public override void Draw(UndoParentNode owner) { m_cullMode = (CullMode)owner.EditorGUILayoutEnumPopup(CullModeStr, m_cullMode); }
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(); } }
public override void Draw(UndoParentNode owner) { bool blendModeIsVisible = EditorVariablesManager.ExpandedBlendModeModule.Value; NodeUtils.DrawPropertyGroup(ref blendModeIsVisible, BlendModeStr, () => { 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_destFactorRGB = m_commonBlendTypes[m_currentRGBIndex].DestFactor; } } EditorGUI.BeginDisabledGroup(m_currentRGBIndex == 0); EditorGUI.BeginChangeCheck(); float cached = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 40; EditorGUILayout.BeginHorizontal(); m_sourceFactorRGB = (AvailableBlendFactor)owner.EditorGUILayoutEnumPopup(SourceFactorStr, m_sourceFactorRGB); EditorGUI.indentLevel--; EditorGUIUtility.labelWidth = 25; m_destFactorRGB = (AvailableBlendFactor)owner.EditorGUILayoutEnumPopup(DstFactorStr, m_destFactorRGB); 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_destFactorAlpha = m_commonBlendTypes[m_currentAlphaIndex].DestFactor; } } EditorGUI.BeginDisabledGroup(m_currentAlphaIndex == 0); EditorGUI.BeginChangeCheck(); cached = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 40; EditorGUILayout.BeginHorizontal(); m_sourceFactorAlpha = (AvailableBlendFactor)owner.EditorGUILayoutEnumPopup(SourceFactorStr, m_sourceFactorAlpha); EditorGUI.indentLevel--; EditorGUIUtility.labelWidth = 25; m_destFactorAlpha = (AvailableBlendFactor)owner.EditorGUILayoutEnumPopup(DstFactorStr, m_destFactorAlpha); EditorGUI.indentLevel++; EditorGUILayout.EndHorizontal(); EditorGUIUtility.labelWidth = cached; if (EditorGUI.EndChangeCheck()) { CheckAlphaIndex(); } EditorGUI.EndDisabledGroup(); EditorGUILayout.Separator(); } if (m_blendOpEnabled) { m_blendOpRGB = (AvailableBlendOps)owner.EditorGUILayoutEnumPopup(BlendOpsRGBStr, m_blendOpRGB); EditorGUILayout.Separator(); m_blendOpAlpha = (AvailableBlendOps)owner.EditorGUILayoutEnumPopup(BlendOpsAlphaStr, m_blendOpAlpha); } }); EditorVariablesManager.ExpandedBlendModeModule.Value = blendModeIsVisible; }
void DrawMainBody() { EditorGUI.BeginChangeCheck(); { EditorGUILayout.Separator(); int itemCount = m_availableTags.Count; if (itemCount == 0) { EditorGUILayout.HelpBox("Your list is Empty!\nUse the plus button to add one.", MessageType.Info); } int markedToDelete = -1; float originalLabelWidth = EditorGUIUtility.labelWidth; for (int i = 0; i < itemCount; i++) { m_availableTags[i].TagFoldout = m_currentOwner.EditorGUILayoutFoldout(m_availableTags[i].TagFoldout, string.Format("[{0}] - {1}", i, m_availableTags[i].TagName)); if (m_availableTags[i].TagFoldout) { EditorGUI.indentLevel += 1; EditorGUIUtility.labelWidth = 70; //Tag Name EditorGUI.BeginChangeCheck(); m_availableTags[i].TagName = m_currentOwner.EditorGUILayoutTextField(TagNameStr, m_availableTags[i].TagName); if (EditorGUI.EndChangeCheck()) { m_availableTags[i].TagName = UIUtils.RemoveShaderInvalidCharacters(m_availableTags[i].TagName); m_tagNameCheckFlag = true; m_tagNameCheckItemId = i; m_tagNameCheckTimestamp = EditorApplication.timeSinceStartup; } //Tag Value switch (m_availableTags[i].SpecialTag) { case TemplateSpecialTags.DisableBatching: { m_availableTags[i].Batching = (DisableBatching)m_currentOwner.EditorGUILayoutEnumPopup(RenderTypeLabelStr, m_availableTags[i].Batching); m_availableTags[i].TagValue = m_availableTags[i].Batching.ToString(); } break; case TemplateSpecialTags.RenderType: { m_availableTags[i].RenderType = (RenderType)m_currentOwner.EditorGUILayoutEnumPopup(RenderTypeLabelStr, m_availableTags[i].RenderType); if (m_availableTags[i].RenderType == RenderType.Custom) { m_availableTags[i].TagValue = m_currentOwner.EditorGUILayoutTextField(CustomRenderTypeLabelStr, m_availableTags[i].TagValue); } } break; case TemplateSpecialTags.Queue: { EditorGUI.BeginChangeCheck(); m_availableTags[i].RenderQueue = (RenderQueue)m_currentOwner.EditorGUILayoutEnumPopup(QueueLabelStr, m_availableTags[i].RenderQueue, GUILayout.MinWidth(150)); m_availableTags[i].RenderQueueOffset = m_currentOwner.EditorGUILayoutIntField(QueueIndexStr, m_availableTags[i].RenderQueueOffset); if (EditorGUI.EndChangeCheck()) { m_availableTags[i].BuildQueueTagValue(); } } break; case TemplateSpecialTags.None: { EditorGUI.BeginChangeCheck(); m_availableTags[i].TagValue = m_currentOwner.EditorGUILayoutTextField(TagValueStr, m_availableTags[i].TagValue); if (EditorGUI.EndChangeCheck()) { m_availableTags[i].TagValue = UIUtils.RemoveShaderInvalidCharacters(m_availableTags[i].TagValue); } } break; } EditorGUIUtility.labelWidth = originalLabelWidth; EditorGUILayout.BeginHorizontal(); { GUILayout.Label(" "); // Add new port if (m_currentOwner.GUILayoutButton(string.Empty, UIUtils.PlusStyle, GUILayout.Width(ShaderKeywordButtonLayoutWidth))) { m_availableTags.Insert(i + 1, new CustomTagData()); EditorGUI.FocusTextInControl(null); } //Remove port if (m_currentOwner.GUILayoutButton(string.Empty, UIUtils.MinusStyle, GUILayout.Width(ShaderKeywordButtonLayoutWidth))) { markedToDelete = i; } } EditorGUILayout.EndHorizontal(); EditorGUI.indentLevel -= 1; } } if (markedToDelete > -1) { if (m_availableTags.Count > markedToDelete) { m_availableTags.RemoveAt(markedToDelete); EditorGUI.FocusTextInControl(null); } } EditorGUILayout.Separator(); } if (EditorGUI.EndChangeCheck()) { m_isDirty = true; } }