protected MenuItem(MenuDisplayMode mode, string id, string name) { Mode = mode; Id = id; Name = name; }
public MenuTree GetItems(MenuDisplayMode mode) { MenuTree tree = new MenuTree(Id, Title); tree.AddRange <MenuItemBase>(this.Where((item) => item.Mode.HasFlag(mode))); return(tree); }
public ActionButton ActionButton(MenuDisplayMode displayMode, string id, string name, Action action, string description = null) { var actionButton = new ActionButton(displayMode, id, name) .WhenClicked(action) .WithDescription(description); Add(actionButton); return(actionButton as ActionButton); }
public SubMenu SubmenuButton(MenuDisplayMode displayMode, string id, string name, MenuTree menuTree, string description = null) { var submenuButton = new SubMenu(displayMode, id, name) .NavigatesTo(menuTree) .WithDescription(description); Add(submenuButton); return(submenuButton as SubMenu); }
public CheckBox CheckBox(MenuDisplayMode displayMode, string id, string name, Func <bool> getter, Action <bool> setter, string description = null) { var checkBox = new CheckBox(displayMode, id, name) .WithGetter(getter) .WithSetter(setter) .WithDescription(description); Add(checkBox); return(checkBox as CheckBox); }
public ListBox <T> ListBox <T>(MenuDisplayMode displayMode, string id, string name, Func <T> getter, Action <T> setter, Dictionary <string, T> entries, string description = null) { var listBox = new ListBox <T>(displayMode, id, name) .WithGetter(getter) .WithSetter(setter) .WithEntries(entries) .WithDescription(description); Add(listBox); return(listBox as ListBox <T>); }
public FloatSlider FloatSlider(MenuDisplayMode displayMode, string id, string name, Func <float> getter, Action <float> setter, float minimum = 0.0f, float maximum = 1.0f, float defaultValue = 0.0f, string description = null) { var floatSlider = new FloatSlider(displayMode, id, name) .WithGetter(getter) .WithSetter(setter) .LimitedByRange(minimum, maximum) .WithDefaultValue(defaultValue) .WithDescription(description); Add(floatSlider); return(floatSlider as FloatSlider); }
public IntegerSlider IntegerSlider(MenuDisplayMode displayMode, string id, string name, Func <int> getter, Action <int> setter, int minimum = 0, int maximum = 10, int defaultValue = 0, string description = null) { var integerSlider = new IntegerSlider(displayMode, id, name) .WithGetter(getter) .WithSetter(setter) .LimitedByRange(minimum, maximum) .WithDefaultValue(defaultValue) .WithDescription(description); Add(integerSlider); return(integerSlider as IntegerSlider); }
public PasswordPrompt PasswordPrompt(MenuDisplayMode displayMode, string id, string name, Action <string> submitAction, Action <InputPrompt> closeAction, Func <string, string> validator, string title = null, string defaultValue = null, string description = null) { var passwordPrompt = new PasswordPrompt(displayMode, id, name) .WithSubmitAction(submitAction) .WithCloseAction(closeAction) .ValidatedBy(validator) .WithTitle(title) .WithDefaultValue(defaultValue) .WithDescription(description); Add(passwordPrompt); return(passwordPrompt as PasswordPrompt); }
public static void AddNew(MenuDisplayMode displayMode, MenuTree menuTree, string title, string description = null) { try { MenuSystem.MenuTree.Add(new SubMenu(displayMode, menuTree.Id, title) .NavigatesTo(menuTree) .WithDescription(description) ); GameAPI.Instance.Logger.Info($"Added new menu tree: '{menuTree.Id}', '{menuTree.Title}'..."); } catch (Exception ex) { GameAPI.Instance.Logger.Error($"Failed to add the menu tree: '{menuTree.Id}', '{menuTree.Title}'."); GameAPI.Instance.Logger.Exception(ex); } }
public IntegerSlider(MenuDisplayMode mode, string id, string name) : base(mode, id, name) { Get = () => DefaultValue; Set = (_) => { }; }
public SubmenuButton(MenuDisplayMode mode, string id, string name) : base(mode, id, name) { }
public ActionButton(MenuDisplayMode mode, string id, string name) : base(mode, id, name) { }
public ListBox(MenuDisplayMode mode, string id, string name) : base(mode, id, name) { }
public FloatSlider(MenuDisplayMode mode, string id, string name) : base(mode, id, name) { Get = () => DefaultValue; Set = (value) => { }; }
public SubMenu(MenuDisplayMode mode, string id, string name) : base(mode, id, name) { }
public PasswordPrompt(MenuDisplayMode mode, string id, string name) : base(mode, id, name) { }
public CheckBox(MenuDisplayMode mode, string id, string name) : base(mode, id, name) { Get = () => DefaultValue; Set = new Action <bool>((_) => { }); }
public InputPrompt(MenuDisplayMode mode, string id, string name) : base(mode, id, name) { }
public static void AddNew(MenuDisplayMode displayMode, MenuTree menuTree, string description = null) { AddNew(displayMode, menuTree, menuTree.Title, description); }