Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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);
            });
        }