private void ProcessOverrideEnabledToggle(bool newValue) { string storedValue = m_CanChangeShaderGUI.ShaderGUIOverride; string preferredGUI = GraphUtil.CurrentPipelinePreferredShaderGUI(m_MasterNode as IMasterNode); m_CanChangeShaderGUI.OverrideEnabled = newValue; // Display the ShaderGUI text field only when the override is enabled if (m_CanChangeShaderGUI.OverrideEnabled) { m_PropertySheet.Add(m_OverrideFieldRow); // Display the pipeline's default upon activation, if it has one. Otherwise set up field to display user setting. if (string.IsNullOrEmpty(storedValue) && !string.IsNullOrEmpty(preferredGUI)) { ProcessShaderGUIField(preferredGUI, false); } else { ProcessShaderGUIField(storedValue, false); } } else if (m_PropertySheet.Contains(m_OverrideFieldRow)) { m_PropertySheet.Remove(m_OverrideFieldRow); // Upon disable, set the value back to null (for pipeline switching reasons, among other reasons) if (storedValue == preferredGUI) { m_CanChangeShaderGUI.ShaderGUIOverride = null; } } AddWarningIfNeeded(); }
private void ProcessOverrideEnabledToggle(bool newValue) { string storedValue = m_CanChangeShaderGUI.ShaderGUIOverride; m_CanChangeShaderGUI.OverrideEnabled = newValue; // Display the ShaderGUI text field only when the override is enabled if (m_CanChangeShaderGUI.OverrideEnabled) { m_PropertySheet.Add(m_OverrideFieldRow); ProcessShaderGUIField(storedValue, false); } else if (m_PropertySheet.Contains(m_OverrideFieldRow)) { m_PropertySheet.Remove(m_OverrideFieldRow); } AddWarningIfNeeded(); }