public override void ReadFromString(ref string[] nodeParams) { base.ReadFromString(ref nodeParams); m_currentSelectedMode = Convert.ToInt32(GetCurrentParam(ref nodeParams)); m_noFog = Convert.ToBoolean(GetCurrentParam(ref nodeParams)); if (UIUtils.CurrentShaderVersion() > 14202) { m_currentAlphaMode = (OutlineAlphaModes)Enum.Parse(typeof(OutlineAlphaModes), GetCurrentParam(ref nodeParams)); } if (UIUtils.CurrentShaderVersion() > 14302) { m_zWriteMode = Convert.ToInt32(GetCurrentParam(ref nodeParams)); m_zTestMode = Convert.ToInt32(GetCurrentParam(ref nodeParams)); } if (UIUtils.CurrentShaderVersion() > 15304) { m_cullMode = (CullMode)Enum.Parse(typeof(CullMode), GetCurrentParam(ref nodeParams)); } SetAdditonalTitleText(string.Format(Constants.SubTitleTypeFormatStr, AvailableOutlineModes[m_currentSelectedMode])); UpdatePorts(); CheckAlphaPortVisibility(); }
public override void DrawProperties() { base.DrawProperties(); NodeUtils.DrawPropertyGroup(ref m_propertiesFoldout, Constants.ParameterLabelStr, () => { EditorGUI.BeginChangeCheck(); m_currentSelectedMode = EditorGUILayoutIntPopup("Type", m_currentSelectedMode, AvailableOutlineModes, AvailableOutlineValues); if (EditorGUI.EndChangeCheck()) { SetAdditonalTitleText(string.Format(Constants.SubTitleTypeFormatStr, AvailableOutlineModes[m_currentSelectedMode])); UpdatePorts(); } EditorGUI.BeginChangeCheck(); m_currentAlphaMode = (OutlineAlphaModes)EditorGUILayoutEnumPopup(OutlineAlphaModeStr, m_currentAlphaMode); if (EditorGUI.EndChangeCheck()) { CheckAlphaPortVisibility(); } if (m_currentAlphaMode == OutlineAlphaModes.Masked) { if (m_masterNode == null) { m_masterNode = m_containerGraph.CurrentMasterNode as StandardSurfaceOutputNode; } if (m_masterNode != null) { m_masterNode.ShowOpacityMaskValueUI(); } } m_noFog = EditorGUILayoutToggle("No Fog", m_noFog); }); }