summaryrefslogtreecommitdiff
path: root/Assets/ThirdParty/VRM/VRMShaders/ShaderProperty/Editor/ShaderPropMenu.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2022-03-10 14:07:40 +0800
committerchai <chaifix@163.com>2022-03-10 14:07:40 +0800
commit22891bf59032ba88262824255a706d652031384b (patch)
tree7595439ba9966c9402d37e37cee5e8cf098757d5 /Assets/ThirdParty/VRM/VRMShaders/ShaderProperty/Editor/ShaderPropMenu.cs
parent8b04ea73e540067f83870b61d89db4868fea5e8a (diff)
* move folder
Diffstat (limited to 'Assets/ThirdParty/VRM/VRMShaders/ShaderProperty/Editor/ShaderPropMenu.cs')
-rw-r--r--Assets/ThirdParty/VRM/VRMShaders/ShaderProperty/Editor/ShaderPropMenu.cs99
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()));
- }
-
- }
-}