using Misaki.ShaderGUI; using UnityEditor; using UnityEngine; using static Misaki.HdrpToon.UtsShaderPropertyName.Advance; namespace Misaki.HdrpToon.Editor { public class AdvanceScope : MaterialUIScope { private static class Properties { public static MaterialProperty lightIntensityMultiplier; public static MaterialProperty clampLightColor; public static MaterialProperty lightLoopMode; } private static class Styles { public static readonly GUIContent lightIntensityMultiplierText = new("Light Intensity Multiplier", "Specifies the intensity multiplier of the light."); public static readonly GUIContent clampLightColorText = new("Clamp Light Color", "Specifies whether to clamp the light color."); public static readonly GUIContent lightLoopModeText = new("Light Loop Mode", "Specifies the light loop mode."); } protected override ShaderGUIExpandable ExpandableBit => ShaderGUIExpandable.Advance; protected override GUIContent Header => EditorGUIUtility.TrTextContent("Advance Settings"); public override void LoadMaterialProperties() { Properties.lightIntensityMultiplier = FindProperty(LIGHT_INTENSITY_MULTIPLIER); Properties.clampLightColor = FindProperty(CLAMP_LIGHT_COLOR); Properties.lightLoopMode = FindProperty(LIGHT_LOOP_MODE); } protected override void DrawContent() { editor.ShaderProperty(Properties.lightIntensityMultiplier, Styles.lightIntensityMultiplierText); editor.ShaderProperty(Properties.clampLightColor, Styles.clampLightColorText); editor.ShaderProperty(Properties.lightLoopMode, Styles.lightLoopModeText); } } }