public override void ReadFromString(ref string[] nodeParams) { base.ReadFromString(ref nodeParams); string textureName = GetCurrentParam(ref nodeParams); m_defaultTextureArray = AssetDatabase.LoadAssetAtPath <Texture2DArray>(textureName); m_uvSet = Convert.ToInt32(GetCurrentParam(ref nodeParams)); m_referenceType = (TexReferenceType)Enum.Parse(typeof(TexReferenceType), GetCurrentParam(ref nodeParams)); m_referenceNodeId = Convert.ToInt32(GetCurrentParam(ref nodeParams)); if (UIUtils.CurrentShaderVersion() > 3202) { m_mipMode = (MipType)Enum.Parse(typeof(MipType), GetCurrentParam(ref nodeParams)); } if (UIUtils.CurrentShaderVersion() > 5105) { m_autoUnpackNormals = Convert.ToBoolean(GetCurrentParam(ref nodeParams)); } if (m_referenceType == TexReferenceType.Instance) { UIUtils.UnregisterTextureArrayNode(this); UIUtils.UnregisterPropertyNode(this); } ConfigureInputPorts(); ConfigureOutputPorts(); m_lodPort.Visible = (m_mipMode == MipType.MipLevel); m_ddxPort.Visible = (m_mipMode == MipType.MipBias); //not really bias, it's derivative m_ddyPort.Visible = (m_mipMode == MipType.MipBias); //not really bias, it's derivative UpdateHeaderColor(); if (m_defaultTextureArray) { m_materialTextureArray = m_defaultTextureArray; } if (!m_isNodeBeingCopied && m_referenceType == TexReferenceType.Object) { ContainerGraph.TextureArrayNodes.UpdateDataOnNode(UniqueId, DataToArray); } }
public override void ReadFromString(ref string[] nodeParams) { base.ReadFromString(ref nodeParams); string textureName = GetCurrentParam(ref nodeParams); m_defaultTextureArray = AssetDatabase.LoadAssetAtPath <Texture2DArray>(textureName); m_uvSet = Convert.ToInt32(GetCurrentParam(ref nodeParams)); m_referenceType = ( TexReferenceType )Enum.Parse(typeof(TexReferenceType), GetCurrentParam(ref nodeParams)); m_referenceNodeId = Convert.ToInt32(GetCurrentParam(ref nodeParams)); if (UIUtils.CurrentShaderVersion() > 3202) { m_mipMode = ( MipType )Enum.Parse(typeof(MipType), GetCurrentParam(ref nodeParams)); } if (UIUtils.CurrentShaderVersion() > 5105) { m_autoUnpackNormals = Convert.ToBoolean(GetCurrentParam(ref nodeParams)); } if (m_referenceType == TexReferenceType.Instance) { UIUtils.UnregisterTextureArrayNode(this); UIUtils.UnregisterPropertyNode(this); m_forceSamplerUpdate = true; } ConfigureInputPorts(); ConfigureOutputPorts(); m_lodPort.Visible = (m_mipMode == MipType.MipLevel); UpdateHeaderColor(); if (m_defaultTextureArray) { m_materialTextureArray = m_defaultTextureArray; } }