static void PreExport(Shader shader)
        {
            var path = UnityPath.FromUnityPath(EXPORT_DIR + EscapeShaderName(shader.name) + ".cs");

            Debug.LogFormat("PreExport: {0}", path.FullPath);

            var props = ShaderProps.FromShader(shader);

            File.WriteAllText(path.FullPath, props.ToString(shader.name));
        }
Esempio n. 2
0
        static void PreExport(SupportedShader supportedShader)
        {
            var shader = Shader.Find(supportedShader.ShaderName);
            var props  = ShaderProps.FromShader(shader);

            var path = Path.Combine(ExportDir, supportedShader.TargetFolder);

            path = Path.Combine(path, EscapeShaderName(supportedShader.ShaderName) + ".cs").Replace("\\", "/");
            Debug.LogFormat("PreExport: {0}", path);
            File.WriteAllText(path, ToString(props, shader.name));
        }
Esempio n. 3
0
        static string ToString(ShaderProps props, string shaderName)
        {
            var list = new List <string>();

            foreach (var prop in props.Properties)
            {
                list.Add(string.Format("new ShaderProperty(\"{0}\", ShaderPropertyType.{1})\r\n", prop.Key, prop.ShaderPropertyType));
            }

            return(string.Format(@"using System.Collections.Generic;


namespace UniGLTF.ShaderPropExporter
{{
    public static partial class PreShaderPropExporter
    {{
        [PreExportShader]
        static KeyValuePair<string, ShaderProps> {0} 
        {{
            get 
            {{
                return new KeyValuePair<string, ShaderProps>(
                    ""{1}"",
                    new ShaderProps
                    {{
                        Properties = new ShaderProperty[]{{
{2}
                        }}
                    }}
                );
            }}
        }}
    }}
}}
"
                                 , EscapeShaderName(shaderName)
                                 , shaderName
                                 , string.Join(",", list.ToArray())));
        }