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