summaryrefslogtreecommitdiffstats
path: root/Editor
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2024-06-23 13:50:19 -0700
committeryum <yum.food.vr@gmail.com>2024-06-23 13:50:58 -0700
commit79e95c1ced341d0b7db7c2fb3a5c6c2ce623a265 (patch)
treee4fbbdf4f93f3f4e4985151cc4186c470f41cb6d /Editor
parenteadd7efade2162ac66d35c2a9c3e73bb5826f974 (diff)
Add gimmicks folder
Catch-all bag for some nascent research. Zero cost if unused. Also organize all shader-side keywords into a single .cginc.
Diffstat (limited to 'Editor')
-rw-r--r--Editor/tooner.cs35
1 files changed, 35 insertions, 0 deletions
diff --git a/Editor/tooner.cs b/Editor/tooner.cs
index 71e7271..d806f88 100644
--- a/Editor/tooner.cs
+++ b/Editor/tooner.cs
@@ -684,6 +684,36 @@ public class ToonerGUI : ShaderGUI {
}
}
+ void DoGimmicks() {
+ MaterialProperty bc;
+ bc = FindProperty("_Gimmick_Flat_Color_Enable_Static");
+ bool enabled = (bc.floatValue != 0.0);
+ EditorGUI.BeginChangeCheck();
+ enabled = EditorGUILayout.Toggle("Flat color", enabled);
+ EditorGUI.EndChangeCheck();
+ bc.floatValue = enabled ? 1.0f : 0.0f;
+ SetKeyword("_GIMMICK_FLAT_COLOR", enabled);
+
+ if (!enabled) {
+ return;
+ }
+
+ EditorGUI.indentLevel += 1;
+ EditorGUI.indentLevel -= 1;
+
+ bc = FindProperty("_Gimmick_Flat_Color_Enable_Dynamic");
+ enabled = (bc.floatValue != 0.0);
+ EditorGUI.BeginChangeCheck();
+ enabled = EditorGUILayout.Toggle("Enable (runtime switch)", enabled);
+ EditorGUI.EndChangeCheck();
+ bc.floatValue = enabled ? 1.0f : 0.0f;
+
+ bc = FindProperty("_Gimmick_Flat_Color_Color");
+ editor.ColorProperty(bc, "Color");
+ bc = FindProperty("_Gimmick_Flat_Color_Emission");
+ editor.ColorProperty(bc, "Emission");
+ }
+
enum RenderingMode {
Opaque,
Cutout,
@@ -938,6 +968,11 @@ public class ToonerGUI : ShaderGUI {
DoClones();
EditorGUI.indentLevel -= 1;
+ GUILayout.Label("Gimmicks", EditorStyles.boldLabel);
+ EditorGUI.indentLevel += 1;
+ DoGimmicks();
+ EditorGUI.indentLevel -= 1;
+
GUILayout.Label("Rendering", EditorStyles.boldLabel);
EditorGUI.indentLevel += 1;
DoRendering();