diff options
| author | yum <yum.food.vr@gmail.com> | 2024-06-23 13:50:19 -0700 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2024-06-23 13:50:58 -0700 |
| commit | 79e95c1ced341d0b7db7c2fb3a5c6c2ce623a265 (patch) | |
| tree | e4fbbdf4f93f3f4e4985151cc4186c470f41cb6d /Editor | |
| parent | eadd7efade2162ac66d35c2a9c3e73bb5826f974 (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.cs | 35 |
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(); |
