示例#1
0
        public override void AssignNewShaderToMaterial(Material material, Shader oldShader, Shader newShader)
        {
            base.AssignNewShaderToMaterial(material, oldShader, newShader);
            if ((UnityEngine.Object)oldShader == (UnityEngine.Object)null || !oldShader.name.Contains("Legacy Shaders/"))
            {
                return;
            }
            EDStandardShaderGUI.BlendMode blendMode = EDStandardShaderGUI.BlendMode.Opaque;
            if (oldShader.name.Contains("/Transparent/Cutout/"))
            {
                blendMode = EDStandardShaderGUI.BlendMode.Cutout;
            }
            else if (oldShader.name.Contains("/Transparent/"))
            {
                blendMode = EDStandardShaderGUI.BlendMode.Fade;
            }
            material.SetFloat("_Mode", (float)blendMode);
            Material[] materialArray = new Material[1];
            int        index         = 0;
            Material   material1     = material;

            materialArray[index] = material1;
            this.DetermineWorkflow(MaterialEditor.GetMaterialProperties((UnityEngine.Object[])materialArray));
            EDStandardShaderGUI.MaterialChanged(material, this.m_WorkflowMode);
        }