public bool Show(params Action[] actions) { var previousValue = Value; XGUILayout.VerticalLayout(() => { var buttonContent = (Value ? "\u25BC " : "\u25BA ") + Title; XGUILayout.HorizontalLayout(() => { var expand = !string.IsNullOrEmpty(Title); Value = Value != GUILayout.Button(buttonContent, FoldoutButtonStyle, GUILayout.ExpandWidth(expand)); ButtonFieldAction?.Invoke(); }); if (Value) { XGUILayout.VerticalLayout(() => { foreach (var action in actions) { action(); } }, FoldoutBoxStyle); } }, Value && BoxSkin ? GUI.skin.box : null); Updated = previousValue != Value; return(Value); }
public override string Show(string value) { var previousValue = value; XGUILayout.HorizontalLayout(() => { base.ShowTitle(); value = ShowTextField(value); }); Updated = previousValue != value; return(value); }
public override T Show(T value) { var previousValue = value; XGUILayout.VerticalLayout(() => { base.ShowTitle(); XGUILayout.HorizontalLayout(() => { value = ShowComponents(value); }); }); Updated = !previousValue.Equals(value); return(value); }
public override bool Show(bool value) { var previousValue = value; const string emptyText = ""; XGUILayout.HorizontalLayout(() => { base.ShowTitle(base.Title == null); GUILayout.FlexibleSpace(); value = GUILayout.Toggle(value, emptyText); }); Updated = previousValue != value; return(value); }