void DrawPassProperties()
        {
            EditorGUI.BeginChangeCheck();
            m_passName = EditorGUILayoutTextField(PassNameStr, m_passName);
            if (EditorGUI.EndChangeCheck())
            {
                if (m_passName.Length > 0)
                {
                    m_passName = UIUtils.RemoveShaderInvalidCharacters(m_passName);
                }
                else
                {
                    m_passName = m_templateMultiPass.SubShaders[m_subShaderIdx].Passes[m_passIdx].PassNameContainer.Data;
                }
                if (!m_templateMultiPass.IsSinglePass)
                {
                    SetClippedTitle(m_passName);
                }
            }

            if (m_passModule.HasValidData)
            {
                m_passModule.Draw(this, m_templateMultiPass.SubShaders[m_subShaderIdx].Passes[m_passIdx].Modules);
            }
        }
        void DrawSubShaderProperties()
        {
            bool noValidData = true;

            if (m_subShaderLOD > -1)
            {
                noValidData = false;
                EditorGUILayout.LabelField(m_subShaderLODStr);
            }

            if (m_subShaderModule.HasValidData)
            {
                noValidData = false;
                m_subShaderModule.Draw(this, m_templateMultiPass.SubShaders[m_subShaderIdx].Modules);
                if (m_subShaderModule.IsDirty)
                {
                    List <TemplateMultiPassMasterNode> mpNodes = UIUtils.CurrentWindow.CurrentGraph.MultiPassMasterNodes.NodesList;
                    int count = mpNodes.Count;
                    for (int i = 0; i < count; i++)
                    {
                        if (mpNodes[i].SubShaderIdx == m_subShaderIdx && mpNodes[i].UniqueId != UniqueId)
                        {
                            mpNodes[i].SubShaderModule.CopyFrom(m_subShaderModule);
                        }
                    }
                }
            }


            if (noValidData)
            {
                EditorGUILayout.HelpBox(NoSubShaderPropertyStr, MessageType.Info);
            }
        }