## Changelog #### 11/29/2018 * Updated Documentation #### 06/15/2018 * Added `UIMenuSliderItem` #### 06/14/2018 * Fixed rectangle colors * Added faster navigation (Hold Up, Down or Left, Right) * Added counter at the top right #### 05/03/2018 * Fixed numbers in `UIMenuListItem` items * Fixed description formatting when to long * Added `ItemsCollection` for future updates * Added `BackColor`, `HighlightedBackColor`, `ForeColor` and `HighlightedForeColor` to UIMenuItem --- ## Example ### Code ```typescript= const NativeUI = require("nativeui"); const Menu = NativeUI.Menu; const UIMenuItem = NativeUI.UIMenuItem; const UIMenuListItem = NativeUI.UIMenuListItem; const UIMenuCheckboxItem = NativeUI.UIMenuCheckboxItem; const UIMenuSliderItem = NativeUI.UIMenuSliderItem; const BadgeStyle = NativeUI.BadgeStyle; const Point = NativeUI.Point; const ItemsCollection = NativeUI.ItemsCollection; const Color = NativeUI.Color; const ListItem = NativeUI.ListItem; mp.gui.cursor.visible = false; mp.gui.chat.show(false); const ui = new Menu("Test UI", "Test UI Subtitle", new Point(50, 50)); ui.AddItem(new UIMenuListItem( "List Item", "Fugiat pariatur consectetur ex duis magna nostrud et dolor laboris est do pariatur amet sint.", new ItemsCollection(["Item 1", "Item 2", "Item 3"]) )); ui.AddItem(new UIMenuSliderItem( "Slider Item", ["Fugiat", "pariatur", "consectetur", "ex", "duis", "magna", "nostrud", "et", "dolor", "laboris"], 5, "Fugiat pariatur consectetur ex duis magna nostrud et dolor laboris est do pariatur amet sint.", true )); ui.AddItem(new UIMenuCheckboxItem( "Checkbox Item", false, "Fugiat pariatur consectetur ex duis magna nostrud et dolor laboris est do pariatur amet sint." )); ui.ItemSelect.on(item => { if (item instanceof UIMenuListItem) { console.log(item.SelectedItem.DisplayText, item.SelectedItem.Data); } else if (item instanceof UIMenuSliderItem) { console.log(item.Text, item.Index, item.IndexToItem(item.Index)); } else { console.log(item.Text); } }); // ui.SliderChange.on((item, index, value) => { // console.log(item.Text, index, value); // }); mp.keys.bind(0x71, false, () => { if (ui.Visible) ui.Close(); else ui.Open(); }); ``` ### Result ![](https://i.imgur.com/BwAmS9y.png) ## Functions `new Menu(Title, Subtitle, Offset, spriteLibrary = "commonmenu", spriteName = "interaction_bgd")` * **Functions** * `AddItem(UIMenuItem)` * `BindMenuToItem(NativeUI, UIMenuItem)` * `ReleaseMenuFromItem(UIMenuItem)` * `Open()` * `Close()` * **Events** * `IndexChange: (Index)` * `ListChange: (UIMenuListItem, Index)` * `CheckboxChange: (UIMenuCheckboxItem, Checked)` * `ItemSelect: (UIMenuItem, Index)` * `SliderChange: (UIMenuSliderItem, Index, Value)` * `MenuClose: ()` * `MenuChange: (Menu)` --- `new UIMenuItem(Caption, Description = "")` * **Functions** * `SetLeftBadge(BadgeStyle)` * `SetRightBadge(BadgeStyle)` * `SetRightLabel(Text)` * **Variables** * `Text: String` * `Description: String` * `Enabled: Boolean` * `BackColor: Color` * `HighlightedBackColor: Color` * `ForeColor: Color` * `HighlightedForeColor: Color` --- `new UIMenuListItem(Caption, Description = "", collection = new ItemsCollection([]), startIndex = 0)` (Extends `UIMenuItem`) **Does not support `SetRightBadge` and `SetRightLabel`** * **Variables** * `Collection: ItemsCollection` * `SelectedItem: string` * `SelectedValue: string` --- `new UIMenuCheckboxItem(Caption, checked = false, Description = "")` (Extends `UIMenuItem`) **Does not support `SetRightBadge` and `SetRightLabel`** * **Variables** * `Checked: boolean` * **Events** * ~~`CheckedChanged: (Checked)`~~ --- `new UIMenuSliderItem(Caption, Items, Startindex, Description = "", Divider = false)` (Extends `UIMenuItem`) **Does not support `SetRightBadge` and `SetRightLabel`** * **Variables** * `Index: number` * **Functions** * `IndexToItem: any` --- `new Point(X, Y)` * **Variables** * `X: number` * `Y: number` --- `new Size(Width, Height)` * **Variables** * `Width: number` * `Height: number` --- `new Color(Red, Green, Blue, Alpha = 255)` * **Variables** * `R: number` * `G: number` * `B: number` * `A: number` --- `new ItemsCollection(Array)` ## Enums ### BadgeStyle ```typescript enum BadgeStyle { None, BronzeMedal, GoldMedal, SilverMedal, Alert, Crown, Ammo, Armour, Barber, Clothes, Franklin, Bike, Car, Gun, Heart, Makeup, Mask, Michael, Star, Tatoo, Trevor, Lock, Tick } ``` ### Font ```typescript enum Font { ChaletLondon = 0, HouseScript = 1, Monospace = 2, CharletComprimeColonge = 4, Pricedown = 7 } ```