using System.Text.Json.Serialization; namespace Editor.ShaderGraph; public enum UIType { Default, Slider, Color, } public struct ParameterUI { /// /// Control type used in the material editor /// public UIType Type { get; set; } /// /// Step amount for sliders /// public float Step { get; set; } /// /// Priority of this value in the group /// public int Priority { get; set; } /// /// Primary group /// [InlineEditor( Label = false ), Group( "Group" )] public UIGroup PrimaryGroup { get; set; } /// /// Group within the primary group /// [InlineEditor( Label = false ), Group( "Sub Group" )] public UIGroup SecondaryGroup { get; set; } [JsonIgnore, Hide] public readonly string UIGroup => $"{PrimaryGroup.Name},{PrimaryGroup.Priority}/{SecondaryGroup.Name},{SecondaryGroup.Priority}/{Priority}"; }