import * as NativeUI from 'NativeUI'; const Menu = NativeUI.Menu; const UIMenuItem = NativeUI.UIMenuItem; const UIMenuListItem = NativeUI.UIMenuListItem; const UIMenuCheckboxItem = NativeUI.UIMenuCheckboxItem; const BadgeStyle = NativeUI.BadgeStyle; const Point = NativeUI.Point; const ItemsCollection = NativeUI.ItemsCollection; const Color = NativeUI.Color; import InputHelper from '../inputhelper'; export default function (globalData: GlobalData) { var keyBound = false; var menu: NativeUI.Menu = null; mp.events.add("SERVER:CityHall_ShowHelpText", () => { mp.game.ui.setTextComponentFormat('STRING'); mp.game.ui.addTextComponentSubstringPlayerName('Drücke ~INPUT_CONTEXT~, um das Stadthallen-Menü zu öffnen'); mp.game.ui.displayHelpTextFromStringLabel(0, true, true, -1); if (!keyBound) { keyBound = true; mp.keys.bind(0x45, false, keyPressHandler); } }); mp.events.add("SERVER:CityHall_ClearHelpText", () => { mp.game.ui.clearHelp(false); if (keyBound) { mp.keys.unbind(0x45, false, keyPressHandler); keyBound = false; } }); function keyPressHandler(): void { if (globalData.InChat || globalData.InMenu) return; menu = new Menu("Stadthalle", "", new Point(50, 50), null, null); globalData.InMenu = true; mp.gui.chat.show(false); var jobItem = new UIMenuItem("Jobs", "Jobcenter"); menu.AddItem(jobItem); var jobMenu = new Menu("Jobcenter", "Hartz 4 und der Tag gehoert dir.", new Point(50, 50), null, null); var groupCreateItem = new UIMenuItem("Gruppe erstellen", "Erstelle eine neue Gruppe"); groupCreateItem.SetRightLabel("~g~50.000$"); menu.AddItem(groupCreateItem); var cancelItem = new UIMenuItem("Schließen"); cancelItem.BackColor = new Color(213, 0, 0); cancelItem.HighlightedBackColor = new Color(229, 57, 53); menu.AddItem(cancelItem); menu.ItemSelect.on((item: NativeUI.UIMenuItem, index) => { if (item === groupCreateItem) { // Gruppe var input = new InputHelper("Wie soll die Gruppe heißen?", globalData); input.show(); input.getValue((name: string) => { mp.events.callRemote("CLIENT:CityHall_CreateGroup", name); menu.Close(); }); } }); menu.MenuClose.on(() => { globalData.InMenu = false; mp.gui.chat.show(true); }); } }