/// <summary> /// Creates and returns a new control root with the name given. /// </summary> public ModControlRoot AddModRoot(string clientName) { ModControlRoot modSettings = new ModControlRoot() { Name = clientName }; scrollBox.Add(modSettings); return(modSettings); }
private RichHudTerminal() : base(ApiModuleTypes.SettingsMenu, false, true) { var data = GetApiData(); GetOrSetMembersFunc = data.Item1; GetNewControlFunc = data.Item3; GetNewContainerFunc = data.Item4; GetNewPageFunc = data.Item5; GetNewPageCategoryFunc = GetOrSetMembersFunc(null, (int)TerminalAccessors.GetNewPageCategoryFunc) as Func <ControlContainerMembers>; menuRoot = new ModControlRoot(data.Item2); }
public static MyTuple <object, HudElementBase> GetClientData(string clientName) { ModControlRoot newRoot = Instance.settingsMenu.AddModRoot(clientName); var data = new SettingsMenuMembers() { Item1 = GetOrSetMembers, Item2 = newRoot.GetApiData(), Item3 = GetNewTerminalControl, Item4 = GetNewControlContainer, Item5 = GetNewModPage, }; return(new MyTuple <object, HudElementBase>(data, newRoot.Element)); }
/// <summary> /// Opens to the given terminal page /// </summary> public void SetSelection(ModControlRoot modRoot, TerminalPageBase newPage) { listInput.SetSelection(modRoot); if (SelectedPage != newPage) { TerminalPageCategoryBase subcategory = null; bool contains = false; foreach (TerminalPageBase page in modRoot.Pages) { if (page == newPage) { contains = true; break; } } if (!contains) { foreach (TerminalPageCategoryBase cat in modRoot.Subcategories) { foreach (TerminalPageBase page in cat.Pages) { if (page == newPage) { subcategory = cat; contains = true; break; } } } } if (subcategory != null) { modRoot.SetSelection(subcategory); subcategory.SetSelection(newPage); } else { modRoot.SetSelection(newPage); } } }
private RichHudTerminal() : base(false, true) { settingsMenu = new TerminalWindow(HudMain.HighDpiRoot); root = settingsMenu.AddModRoot("Rich HUD Master"); MyAPIGateway.Utilities.MessageEntered += MessageHandler; }
/// <summary> /// Opens the given terminal page /// </summary> public void SetSelection(ModControlRoot modRoot, TerminalPageBase newPage) => modList.SetSelection(modRoot, newPage);