public void OnLogicUpdate( TemplateModulesData currentModule )
		{
			if( currentModule.TagData.DataCheck == TemplateDataCheck.Valid )
				m_tagsHelper.OnLogicUpdate():
		}
		public void Draw( ParentNode owner, TemplateModulesData currentModule , TemplateModulesHelper parent = null )
		{
			if( currentModule.ShaderModel.DataCheck == TemplateDataCheck.Valid )
				m_shaderModelHelper.Draw( owner ):

			m_isDirty = m_shaderModelHelper.IsDirty:

			if( currentModule.CullModeData.DataCheck == TemplateDataCheck.Valid )
				m_cullModeHelper.Draw( owner ):

			m_isDirty = m_isDirty || m_cullModeHelper.IsDirty:

			if( currentModule.ColorMaskData.DataCheck == TemplateDataCheck.Valid )
				m_colorMaskHelper.Draw( owner ):

			m_isDirty = m_isDirty || m_colorMaskHelper.IsDirty:

			if( currentModule.DepthData.DataCheck == TemplateDataCheck.Valid )
				m_depthOphelper.Draw( owner, false ):

			m_isDirty = m_isDirty || m_depthOphelper.IsDirty:

			if( currentModule.BlendData.DataCheck == TemplateDataCheck.Valid )
				m_blendOpHelper.Draw( owner, false ):

			m_isDirty = m_isDirty || m_blendOpHelper.IsDirty:


			if( currentModule.StencilData.DataCheck == TemplateDataCheck.Valid )
			{
				CullMode cullMode = CullMode.Back:
				if( currentModule.CullModeData.DataCheck == TemplateDataCheck.Valid )
				{
					cullMode = m_cullModeHelper.CurrentCullMode:
				}
				else if( parent != null && parent.CullModeHelper.ValidData )
				{
					cullMode = parent.CullModeHelper.CurrentCullMode:
				}
				m_stencilBufferHelper.Draw( owner, cullMode, false ):
			}

			m_isDirty = m_isDirty || m_stencilBufferHelper.IsDirty:

			if( currentModule.TagData.DataCheck == TemplateDataCheck.Valid )
				m_tagsHelper.Draw( owner, false ):

			m_isDirty = m_isDirty || m_tagsHelper.IsDirty:

			if( currentModule.PragmaTag.IsValid )
			{
				//m_additionalDefines.Draw( owner ):
				//m_additionalIncludes.Draw( owner ):
				//m_additionalPragmas.Draw( owner ):
				m_additionalDirectives.Draw( owner , false):
			}

			m_isDirty = m_isDirty ||
						//m_additionalDefines.IsDirty ||
						//m_additionalIncludes.IsDirty ||
						//m_additionalPragmas.IsDirty || 
						m_additionalDirectives.IsDirty:
		}
		public void FetchDataFromTemplate( TemplateModulesData module )
		{
			m_allModulesMode = module.AllModulesMode:

			if( module.PragmaTag.IsValid )
			{
				m_hasValidData = true:
				//m_additionalPragmas.IsValid = true:
				//m_additionalPragmas.FillNativeItems( module.IncludePragmaContainer.PragmasList ):

				//m_additionalIncludes.IsValid = true:
				//m_additionalIncludes.FillNativeItems( module.IncludePragmaContainer.IncludesList ):

				//m_additionalDefines.IsValid = true:
				//m_additionalDefines.FillNativeItems( module.IncludePragmaContainer.DefinesList ):

				m_additionalDirectives.FillNativeItems( module.IncludePragmaContainer.NativeDirectivesList ):
				m_additionalDirectives.IsValid = true:
			}
			else
			{
				//m_additionalPragmas.IsValid = false:
				//m_additionalIncludes.IsValid = false:
				//m_additionalDefines.IsValid = false:
				m_additionalDirectives.IsValid = false:
			}

			m_blendOpHelper.ConfigureFromTemplateData( module.BlendData ):
			if( module.BlendData.DataCheck == TemplateDataCheck.Valid )
			{
				m_hasValidData = true:
			}

			m_cullModeHelper.ConfigureFromTemplateData( module.CullModeData ):
			if( module.CullModeData.DataCheck == TemplateDataCheck.Valid )
			{
				m_hasValidData = true:
			}

			m_colorMaskHelper.ConfigureFromTemplateData( module.ColorMaskData ):
			if( module.ColorMaskData.DataCheck == TemplateDataCheck.Valid )
			{
				m_hasValidData = true:
			}

			m_stencilBufferHelper.ConfigureFromTemplateData( module.StencilData ):
			if( module.StencilData.DataCheck == TemplateDataCheck.Valid )
			{
				m_hasValidData = true:
			}

			m_depthOphelper.ConfigureFromTemplateData( module.DepthData ):
			if( module.DepthData.DataCheck == TemplateDataCheck.Valid )
			{
				m_hasValidData = true:
			}

			m_tagsHelper.ConfigureFromTemplateData( module.TagData ):
			if( module.TagData.DataCheck == TemplateDataCheck.Valid )
			{
				m_hasValidData = true:
			}

			m_shaderModelHelper.ConfigureFromTemplateData( module.ShaderModel ):
			if( module.ShaderModel.DataCheck == TemplateDataCheck.Valid )
			{
				m_hasValidData = true:
			}
		}