diff options
author | chai <chaifix@163.com> | 2022-03-10 14:07:40 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2022-03-10 14:07:40 +0800 |
commit | 22891bf59032ba88262824255a706d652031384b (patch) | |
tree | 7595439ba9966c9402d37e37cee5e8cf098757d5 /Assets/ThirdParty/VRM/VRMShaders/ShaderProperty/Editor/ShaderPropMenu.cs | |
parent | 8b04ea73e540067f83870b61d89db4868fea5e8a (diff) |
* move folder
Diffstat (limited to 'Assets/ThirdParty/VRM/VRMShaders/ShaderProperty/Editor/ShaderPropMenu.cs')
-rw-r--r-- | Assets/ThirdParty/VRM/VRMShaders/ShaderProperty/Editor/ShaderPropMenu.cs | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/Assets/ThirdParty/VRM/VRMShaders/ShaderProperty/Editor/ShaderPropMenu.cs b/Assets/ThirdParty/VRM/VRMShaders/ShaderProperty/Editor/ShaderPropMenu.cs deleted file mode 100644 index b13dec97..00000000 --- a/Assets/ThirdParty/VRM/VRMShaders/ShaderProperty/Editor/ShaderPropMenu.cs +++ /dev/null @@ -1,99 +0,0 @@ -using System.Reflection; -using System.Linq; -using UnityEditor; -using UnityEngine; -using System.IO; -using UniGLTF.ShaderPropExporter; -using System.Collections.Generic; - -namespace UniGLTF -{ - public static class ShaderPropMenu - { -#if VRM_DEVELOP - [MenuItem("VRM/ShaderProperty/PreExport ShaderProps")] -#endif - public static void PreExport() - { - foreach (var fi in typeof(PreExportShaders).GetFields( - BindingFlags.Static - | BindingFlags.Public - | BindingFlags.NonPublic)) - { - var attr = fi.GetCustomAttributes(true).FirstOrDefault(y => y is PreExportShadersAttribute); - if (attr != null) - { - var supportedShaders = fi.GetValue(null) as SupportedShader[]; - foreach (var supported in supportedShaders) - { - PreExport(supported); - } - } - } - } - - static string EscapeShaderName(string name) - { - return name.Replace("/", "_").Replace(" ", "_"); - } - - static string ExportDir - { - get - { - return Application.dataPath + "/VRM/ShaderProperty/Runtime"; - } - } - - 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)); - } - - 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())); - } - - } -} |