public override void ReadFromString(ref string[] nodeParams) { base.ReadFromString(ref nodeParams); try { ShaderName = GetCurrentParam(ref nodeParams); if (m_shaderName.Length > 0) { ShaderName = UIUtils.RemoveShaderInvalidCharacters(ShaderName); } string templateGUID = GetCurrentParam(ref nodeParams); string templateShaderName = string.Empty; if (UIUtils.CurrentShaderVersion() > 13601) { templateShaderName = GetCurrentParam(ref nodeParams); } TemplateData template = TemplatesManager.GetTemplate(templateGUID); if (template != null) { SetTemplate(template, false, true); } else { template = TemplatesManager.GetTemplateByName(templateShaderName); if (template != null) { SetTemplate(template, false, true); } else { m_masterNodeCategory = -1; } } ////BLEND MODULE //if( m_currentTemplate.BlendData.ValidBlendMode ) //{ // m_blendOpHelper.ReadBlendModeFromString( ref m_currentReadParamIdx, ref nodeParams ); //} // //if( m_currentTemplate.BlendData.ValidBlendOp ) //{ // m_blendOpHelper.ReadBlendOpFromString( ref m_currentReadParamIdx, ref nodeParams ); //} } catch (Exception e) { Debug.LogException(e, this); } m_containerGraph.CurrentCanvasMode = NodeAvailability.TemplateShader; }
public override void ReadFromString(ref string[] nodeParams) { base.ReadFromString(ref nodeParams); try { ShaderName = GetCurrentParam(ref nodeParams); if (m_shaderName.Length > 0) { ShaderName = UIUtils.RemoveShaderInvalidCharacters(ShaderName); } string templateGUID = GetCurrentParam(ref nodeParams); string templateShaderName = string.Empty; if (UIUtils.CurrentShaderVersion() > 13601) { templateShaderName = GetCurrentParam(ref nodeParams); } TemplateData template = TemplatesManager.GetTemplate(templateGUID); if (template != null) { SetTemplate(template, false, true); } else { template = TemplatesManager.GetTemplateByName(templateShaderName); if (template != null) { SetTemplate(template, false, true); } else { m_masterNodeCategory = -1; } } #if TEMPLATE_MODULES if (UIUtils.CurrentShaderVersion() > 13902) { //BLEND MODULE if (m_currentTemplate.BlendData.ValidBlendMode) { m_blendOpHelper.ReadBlendModeFromString(ref m_currentReadParamIdx, ref nodeParams); } if (m_currentTemplate.BlendData.ValidBlendOp) { m_blendOpHelper.ReadBlendOpFromString(ref m_currentReadParamIdx, ref nodeParams); } //CULL MODE if (m_currentTemplate.CullModeData.DataCheck == TemplateDataCheck.Valid) { m_cullModeHelper.ReadFromString(ref m_currentReadParamIdx, ref nodeParams); } //COLOR MASK if (m_currentTemplate.ColorMaskData.DataCheck == TemplateDataCheck.Valid) { m_colorMaskHelper.ReadFromString(ref m_currentReadParamIdx, ref nodeParams); } //STENCIL BUFFER if (m_currentTemplate.StencilData.DataCheck == TemplateDataCheck.Valid) { m_stencilBufferHelper.ReadFromString(ref m_currentReadParamIdx, ref nodeParams); } } #endif } catch (Exception e) { Debug.LogException(e, this); } m_containerGraph.CurrentCanvasMode = NodeAvailability.TemplateShader; }
public override void ReadFromDeprecated(ref string[] nodeParams, Type oldType = null) { base.ReadFromString(ref nodeParams); try { string currShaderName = GetCurrentParam(ref nodeParams); if (currShaderName.Length > 0) { currShaderName = UIUtils.RemoveShaderInvalidCharacters(currShaderName); } string templateGUID = GetCurrentParam(ref nodeParams); string templateShaderName = string.Empty; if (UIUtils.CurrentShaderVersion() > 13601) { templateShaderName = GetCurrentParam(ref nodeParams); } TemplateMultiPass template = TemplatesManager.GetTemplate(templateGUID) as TemplateMultiPass; if (template != null) { m_templateGUID = templateGUID; SetTemplate(null, false, true, 0, 0); } else { template = TemplatesManager.GetTemplateByName(templateShaderName) as TemplateMultiPass; if (template != null) { m_templateGUID = template.GUID; SetTemplate(null, false, true, 0, 0); } else { m_masterNodeCategory = -1; } } // only in here, after SetTemplate, we know if shader name is to be used as title or not ShaderName = currShaderName; if (UIUtils.CurrentShaderVersion() > 13902) { //BLEND MODULE if (m_templateMultiPass.SubShaders[0].Modules.BlendData.ValidBlendMode) { m_subShaderModule.BlendOpHelper.ReadBlendModeFromString(ref m_currentReadParamIdx, ref nodeParams); } else if (m_templateMultiPass.SubShaders[0].Passes[0].Modules.BlendData.ValidBlendMode) { m_passModule.BlendOpHelper.ReadBlendModeFromString(ref m_currentReadParamIdx, ref nodeParams); } if (m_templateMultiPass.SubShaders[0].Modules.BlendData.ValidBlendOp) { m_subShaderModule.BlendOpHelper.ReadBlendOpFromString(ref m_currentReadParamIdx, ref nodeParams); } else if (m_templateMultiPass.SubShaders[0].Passes[0].Modules.BlendData.ValidBlendOp) { m_passModule.BlendOpHelper.ReadBlendOpFromString(ref m_currentReadParamIdx, ref nodeParams); } //CULL MODE if (m_templateMultiPass.SubShaders[0].Modules.CullModeData.DataCheck == TemplateDataCheck.Valid) { m_subShaderModule.CullModeHelper.ReadFromString(ref m_currentReadParamIdx, ref nodeParams); } else if (m_templateMultiPass.SubShaders[0].Passes[0].Modules.CullModeData.DataCheck == TemplateDataCheck.Valid) { m_passModule.CullModeHelper.ReadFromString(ref m_currentReadParamIdx, ref nodeParams); } //COLOR MASK if (m_templateMultiPass.SubShaders[0].Modules.ColorMaskData.DataCheck == TemplateDataCheck.Valid) { m_subShaderModule.ColorMaskHelper.ReadFromString(ref m_currentReadParamIdx, ref nodeParams); } else if (m_templateMultiPass.SubShaders[0].Passes[0].Modules.ColorMaskData.DataCheck == TemplateDataCheck.Valid) { m_passModule.ColorMaskHelper.ReadFromString(ref m_currentReadParamIdx, ref nodeParams); } //STENCIL BUFFER if (m_templateMultiPass.SubShaders[0].Modules.StencilData.DataCheck == TemplateDataCheck.Valid) { m_subShaderModule.StencilBufferHelper.ReadFromString(ref m_currentReadParamIdx, ref nodeParams); } else if (m_templateMultiPass.SubShaders[0].Passes[0].Modules.StencilData.DataCheck == TemplateDataCheck.Valid) { m_passModule.StencilBufferHelper.ReadFromString(ref m_currentReadParamIdx, ref nodeParams); } } if (UIUtils.CurrentShaderVersion() > 14202) { //DEPTH OPTIONS if (m_templateMultiPass.SubShaders[0].Modules.DepthData.ValidZWrite) { m_subShaderModule.DepthOphelper.ReadZWriteFromString(ref m_currentReadParamIdx, ref nodeParams); } else if (m_templateMultiPass.SubShaders[0].Passes[0].Modules.DepthData.ValidZWrite) { m_passModule.DepthOphelper.ReadZWriteFromString(ref m_currentReadParamIdx, ref nodeParams); } if (m_templateMultiPass.SubShaders[0].Modules.DepthData.ValidZTest) { m_subShaderModule.DepthOphelper.ReadZTestFromString(ref m_currentReadParamIdx, ref nodeParams); } else if (m_templateMultiPass.SubShaders[0].Passes[0].Modules.DepthData.ValidZTest) { m_subShaderModule.DepthOphelper.ReadZTestFromString(ref m_currentReadParamIdx, ref nodeParams); } if (m_templateMultiPass.SubShaders[0].Modules.DepthData.ValidOffset) { m_subShaderModule.DepthOphelper.ReadOffsetFromString(ref m_currentReadParamIdx, ref nodeParams); } else if (m_templateMultiPass.SubShaders[0].Passes[0].Modules.DepthData.ValidOffset) { m_passModule.DepthOphelper.ReadOffsetFromString(ref m_currentReadParamIdx, ref nodeParams); } } //TAGS if (UIUtils.CurrentShaderVersion() > 14301) { if (m_templateMultiPass.SubShaders[0].Modules.TagData.DataCheck == TemplateDataCheck.Valid) { m_subShaderModule.TagsHelper.ReadFromString(ref m_currentReadParamIdx, ref nodeParams); } else if (m_templateMultiPass.SubShaders[0].Passes[0].Modules.TagData.DataCheck == TemplateDataCheck.Valid) { m_passModule.TagsHelper.ReadFromString(ref m_currentReadParamIdx, ref nodeParams); } } } catch (Exception e) { Debug.LogException(e, this); } m_containerGraph.CurrentCanvasMode = NodeAvailability.TemplateShader; }