private async void updateOutfitList(MenuItemSubMenu menu) { await LocalSession.UpdateData("Character.Settings"); menu.SubMenu.menuItems = new List <MenuItem> { new MenuItemStandard { Title = "You have no outfits" } }; var playerOutifts = GetPlayerOutfits(); if (playerOutifts.Count > 0) { menu.SubMenu.menuItems = new List <MenuItem>(); foreach (var kvp in playerOutifts) { menu.SubMenu.menuItems.Add(new MenuItemStandard { Title = kvp.Key, OnActivate = item => { CitizenFX.Core.Native.API.ExecuteCommand($"useoutfit {kvp.Key}"); } }); } } menu.SubMenu.SelectedIndex = menu.SubMenu.SelectedIndex; }
public PlayerMenu(int serverId, PlayerListMenu parent, Client client) : base("Player", parent) { ServerId = serverId; var spec = new MenuItemCheckbox(client, this, "Spectate Player", false, Constants.AceAdminSpec) { IsChecked = () => client.Spectate.CurrentPlayer?.ServerId == ServerId }; spec.Activate += () => { if (client.Spectate.CurrentPlayer == null || client.Spectate.CurrentPlayer.ServerId != ServerId) { client.Spectate.Start(Player); } else { client.Spectate.Stop(); } return(Task.FromResult(0)); }; Add(spec); var tpTo = new MenuItem(client, this, "Teleport To Player", Constants.AceAdminTp); tpTo.Activate += () => { parent.LastTpTarget = ServerId; BaseScript.TriggerServerEvent("HyperAdmin.TpTo", ServerId); return(Task.FromResult(0)); }; Add(tpTo); var bring = new MenuItem(client, this, "Bring Player", Constants.AceAdminBring); bring.Activate += () => { BaseScript.TriggerServerEvent("HyperAdmin.Bring", ServerId, JsonConvert.SerializeObject(Game.PlayerPed.Position)); return(Task.FromResult(0)); }; Add(bring); var freeze = new MenuItemCheckbox(client, this, "Freeze Player", Player.Character.IsPositionFrozen, Constants.AceAdminFreeze) { IsChecked = () => API.DecorGetBool(Player.Character.Handle, "Player.Frozen") }; freeze.Activate += () => { BaseScript.TriggerServerEvent("HyperAdmin.Freeze", ServerId); return(Task.FromResult(0)); }; Add(freeze); var kick = new MenuItemSubMenu(client, this, new KickMenu(client, this), ace: Constants.AceAdminKick); Add(kick); var ban = new MenuItemSubMenu(client, this, new BanMenu(client, this), ace: Constants.AceAdminBan); Add(ban); }
public DevTools(Client client) : base(client) { var menu = new Menu("Mooshe's DevTools"); var playerMenu = new MenuItemSubMenu(client, menu, new PlayerMenu(client, menu), "Player Settings"); menu.Add(playerMenu); var mpMenu = new MenuItemSubMenu(client, menu, new MpMenu(client, menu), "Multiplayer Settings"); menu.Add(mpMenu); var timeMenu = new MenuItemSubMenu(client, menu, new TimeMenu(client, menu), "Time Settings"); menu.Add(timeMenu); var vehMenu = new MenuItemSubMenu(client, menu, new VehicleMenu(client, menu), "Vehicle Settings"); menu.Add(vehMenu); var worldMenu = new MenuItemSubMenu(client, menu, new WorldMenu(client, menu), "World Settings"); menu.Add(worldMenu); var hudMenu = new MenuItemSubMenu(client, menu, new HudMenu(client, menu), "HUD Settings"); menu.Add(hudMenu); var iplMenu = new MenuItemSubMenu(client, menu, new InteriorMenu(client, menu), "Interior Settings"); menu.Add(iplMenu); var keyCode = new MenuItemCheckbox(client, menu, "Keycode Tester") { IsChecked = () => KeyCodeTest }; keyCode.Activate += () => { KeyCodeTest = !KeyCodeTest; return(Task.FromResult(0)); }; menu.Add(keyCode); Client.Menu.RegisterMenuHotkey(Control.ReplayStartStopRecording, menu); // F1 Client.RegisterTickHandler(OnKeyCodeTick); Client.RegisterTickHandler(OnKeyCodeRender); Client.RegisterEventHandler("UI.ShowNotification", new Action <string>(OnNotification)); Client.RegisterEventHandler("Player.Bring", new Action <int, float, float, float>(OnPlayerBring)); }
public HudMenu(Client client, Menu parent) : base("HUD Menu", parent) { var radar = new MenuItemCheckbox(client, this, "Hide Minimap") { IsChecked = API.IsRadarHidden }; radar.Activate += () => { API.DisplayRadar(API.IsRadarHidden()); return(Task.FromResult(0)); }; Add(radar); Add(new MenuItemSubMenu(client, this, new HudComponentMenu(client, this), "HUD Components")); var resetTimecycle = new MenuItem(client, this, "Reset Timecycle"); resetTimecycle.Activate += () => { Function.Call(Hash.CLEAR_TIMECYCLE_MODIFIER); return(Task.FromResult(0)); }; Add(resetTimecycle); var multTimecycle = new MenuItemSpinnerF(client, this, "Timecycle Strength", 1f, 0f, 5f, 0.05f, true); multTimecycle.ValueUpdate += (val) => { Function.Call(Hash.SET_TIMECYCLE_MODIFIER_STRENGTH, val); return(val); }; Add(multTimecycle); var timecycles = new MenuItemSubMenu(client, this, new TimeCycleMenu(client, this), "Timecycles"); Add(timecycles); client.RegisterTickHandler(OnTick); }
internal static void InitMenu() { Log.Verbose($"GarageMenu InitMenu"); try { var item = new MenuItemStandard() { Title = "Park Vehicle", OnActivate = ParkCarFromMenu }; InteractionListMenu.RegisterInteractionMenuItem(item, CheckPedGarageProximity, 500); // Vehicle Selection, requires sub menu var items = new List <MenuItemStandard>() { new MenuItemStandard() { Title = "SomeCar", OnActivate = TestEvent } }; VehicleSelectMenu = new MenuItemSubMenu() { Title = "Vehicle Select", SubMenu = new MenuModel() { headerTitle = "Some sub menu" } }; VehicleSelectMenu.SubMenu.MenuItems.AddRange(items); InteractionListMenu.RegisterInteractionMenuItem(VehicleSelectMenu, CheckPedGarageProximity, 500); } catch (Exception ex) { Log.Error($"GarageMenu InitMenu Error: {ex.Message}"); } }
static public void Init() { Client.GetInstance().ClientCommands.Register("/emote", HandleEmote); Client.GetInstance().RegisterTickHandler(OnTick); var CancelMenuItem = new MenuItemStandard { Title = "Cancel Emote", OnActivate = (item) => { //if (!(Arrest.playerCuffState == CuffState.None)) return; Game.PlayerPed.Task.ClearAll(); isPlayingEmote = false; InteractionListMenu.Observer.CloseMenu(); } }; var CancelImmediatelyMenuItem = new MenuItemStandard { Title = "Cancel Emote (Immediately)", OnActivate = (item) => { //if (!(Arrest.playerCuffState == CuffState.None)) return; Game.PlayerPed.Task.ClearAllImmediately(); isPlayingEmote = false; InteractionListMenu.Observer.CloseMenu(); } }; InteractionListMenu.RegisterInteractionMenuItem(CancelMenuItem, () => { return(isPlayingEmote); }, 1150); InteractionListMenu.RegisterInteractionMenuItem(CancelImmediatelyMenuItem, () => { return(isPlayingEmote); }, 1149); var CancelEmoteMenu = new MenuModel { headerTitle = "Emotes", menuItems = new List <MenuItem>() { CancelMenuItem, CancelImmediatelyMenuItem } }; List <MenuItem> EmotesMenuItems = new List <MenuItem>(); scenarios.OrderBy(x => x.Key).ToList().ForEach(s => { EmotesMenuItems.Add(new MenuItemStandard { Title = $"{s.Key.ToTitleCase()}", OnActivate = (item) => { PlayEmote(item.Title.ToLower()); InteractionListMenu.Observer.OpenMenu(CancelEmoteMenu); } }); }); var EmotesMenu = new MenuModel { headerTitle = "Emotes", menuItems = EmotesMenuItems }; var ToEmotesMenuItem = new MenuItemSubMenu { Title = "Emotes", SubMenu = EmotesMenu }; InteractionListMenu.RegisterInteractionMenuItem(ToEmotesMenuItem, () => { return(!isPlayingEmote && !Game.PlayerPed.IsInVehicle()); }, 1150); }
public PlayerMenu(Client client, Menu parent) : base("Player Menu", parent) { var heal = new MenuItem(client, this, "Heal Player"); heal.Activate += () => { if (Game.PlayerPed.Health < Game.PlayerPed.MaxHealth) { Game.PlayerPed.Health = Math.Min(100, Game.PlayerPed.MaxHealth); } return(Task.FromResult(0)); }; Add(heal); var armor = new MenuItem(client, this, "Give Armor"); armor.Activate += () => { Game.PlayerPed.Armor = 100; return(Task.FromResult(0)); }; Add(armor); var gaw = new MenuItem(client, this, "Give All Weapons"); gaw.Activate += () => { foreach (WeaponHash weapon in Enum.GetValues(typeof(WeaponHash))) { Game.PlayerPed.Weapons.Give(weapon, 250, false, true); } return(Task.FromResult(0)); }; Add(gaw); var pedModel = new MenuItemSubMenu(client, this, new PlayerPedMenu(client, this), "Change Ped Model"); Add(pedModel); _wantedItem = new MenuItemSpinnerInt(client, this, "Wanted Level", Game.Player.WantedLevel, 0, 5, 1); _wantedItem.ValueUpdate += (val) => { Game.Player.WantedLevel = val; return(val); }; Add(_wantedItem); var neverWanted = new MenuItemCheckbox(client, this, "Never Wanted", NeverWanted) { IsChecked = () => NeverWanted }; neverWanted.Activate += () => { NeverWanted = !NeverWanted; return(Task.FromResult(0)); }; Add(neverWanted); var godMode = new MenuItemCheckbox(client, this, "God Mode") { IsChecked = () => Game.PlayerPed.IsInvincible }; godMode.Activate += () => { Game.PlayerPed.IsInvincible = !Game.PlayerPed.IsInvincible; return(Task.FromResult(0)); }; Add(godMode); var ragdoll = new MenuItemCheckbox(client, this, "Can Ragdoll") { IsChecked = () => Game.PlayerPed.CanRagdoll }; ragdoll.Activate += () => { Game.PlayerPed.CanRagdoll = !Game.PlayerPed.CanRagdoll; return(Task.FromResult(0)); }; Add(ragdoll); var stamina = new MenuItemCheckbox(client, this, "Infinite Stamina"); stamina.Activate += () => { InfiniteStamina = !InfiniteStamina; return(Task.FromResult(0)); }; stamina.IsChecked = () => InfiniteStamina; Add(stamina); var speedMult = new MenuItemSpinnerF(client, this, "Sprint Speed", 1f, 1f, 1.5f, 0.05f); speedMult.ValueUpdate += val => { SpeedMultiplier = val; return(val); }; Add(speedMult); client.RegisterTickHandler(OnTick); }
public void Init(uint width, uint height) { ReSize(width, height); DefaultTheme theme = new DefaultTheme(width, height); theme.Setup("aw.png", "./Resources/"); //selectionManager.setup(width,height); UI.Instance.CurrentTheme = theme; MenuBar.Instance.Init(width); menuFile = new Menu("FlightData"); menuItemFileOpen = new MenuItemButton("Open"); menuItemFileSave = new MenuItemButton("Save"); menuItemFileSaveAs = new MenuItemButton("Save As"); menuItemFileSeparator = new MenuItemSeparator(); menuItemFileExit = new MenuItemButton("Exit"); menuItemFileExport = new MenuItemSubMenu("Export"); menuItemFilePNG = new MenuItemSubMenu("PNG Image"); menuItemFilePNGNone = new MenuItemButton("None"); menuItemFilePNGInterlaced = new MenuItemButton("Interlaced"); menuItemFilePNG.AddItem(menuItemFilePNGNone); menuItemFilePNG.AddItem(menuItemFilePNGInterlaced); menuItemFileJPEG = new MenuItemButton("JPEG Image"); menuItemFileExport.AddItem(menuItemFilePNG); menuItemFileExport.AddItem(menuItemFileJPEG); menuItemFileImport = new MenuItemSubMenu("Import"); menuItemFile3DS = new MenuItemButton("3DS Model"); menuItemFileOBJ = new MenuItemButton("OBJ Model"); menuItemFileSIA = new MenuItemButton("SIA Model"); menuItemFileImport.AddItem(menuItemFile3DS); menuItemFileImport.AddItem(menuItemFileOBJ); menuItemFileImport.AddItem(menuItemFileSIA); menuFile.AddItem(menuItemFileOpen); menuFile.AddItem(menuItemFileSave); menuFile.AddItem(menuItemFileSaveAs); menuFile.AddItem(menuItemFileExport); menuFile.AddItem(menuItemFileImport); menuFile.AddItem(menuItemFileSeparator); menuFile.AddItem(menuItemFileExit); menuHelp = new Menu("Help"); menuItemHelpAbout = new MenuItemButton("About"); menuItemHelpHelp = new MenuItemButton("Help"); menuHelp.AddItem(menuItemHelpAbout); menuHelp.AddItem(menuItemHelpHelp); menuAssortedWidgetsTest = new Menu("Assorted Widgets Test"); dialogTestDialog = new DialogTestDialog(); menuItemDialogTest = new MenuItemButton("Modal Dialog Test"); menuAssortedWidgetsTest.AddItem(menuItemDialogTest); checkNRadioTestDialog = new CheckNRadioTestDialog(); menuItemCheckNRadioTest = new MenuItemButton("Check & Radio Test"); menuAssortedWidgetsTest.AddItem(menuItemCheckNRadioTest); progressNSliderTestDialog = new ProgressNSliderTestDialog(); menuItemProgressNSliderTest = new MenuItemButton("Progress & Slider Test"); menuAssortedWidgetsTest.AddItem(menuItemProgressNSliderTest); multipleLayoutTestDialog = new MultipleLayoutTestDialog(); menuItemMultipleTest = new MenuItemButton("MultipleLayout Test"); menuAssortedWidgetsTest.AddItem(menuItemMultipleTest); scrollPanelTestDialog = new ScrollPanelTestDialog(); menuItemScrollPanelTest = new MenuItemButton("Scroll Panel Test"); menuAssortedWidgetsTest.AddItem(menuItemScrollPanelTest); textNDropTestDialog = new TextNDropTestDialog(); menuItemTextNDropTest = new MenuItemButton("DropList Test"); menuAssortedWidgetsTest.AddItem(menuItemTextNDropTest); MenuBar.Instance.AddMenu(menuFile); MenuBar.Instance.AddMenu(menuHelp); MenuBar.Instance.AddMenu(menuAssortedWidgetsTest); //menuItemDialogTest.MousePressedEvent += new MousePressedHandler(menuItemDialogTest_MousePressedEvent); //menuItemCheckNRadioTest.MousePressedEvent += new MousePressedHandler(menuItemCheckNRadioTest_MousePressedEvent); //menuItemProgressNSliderTest.MousePressedEvent += new MousePressedHandler(menuItemProgressNSliderTest_MousePressedEvent); //menuItemMultipleTest.MousePressedEvent += new MousePressedHandler(menuItemMultipleTest_MousePressedEvent); //menuItemScrollPanelTest.MousePressedEvent += new MousePressedHandler(menuItemScrollPanelTest_MousePressedEvent); //menuItemTextNDropTest.MousePressedEvent += new MousePressedHandler(menuItemTextNDropTest_MousePressedEvent); }
public abstract void PaintMenuItemSubMenu(MenuItemSubMenu component);
public abstract Size GetMenuItemSubMenuPreferedSize(MenuItemSubMenu component);