Пример #1
0
        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;
        }
Пример #2
0
        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);
        }
Пример #3
0
        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));
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
 public abstract void PaintMenuItemSubMenu(MenuItemSubMenu component);
Пример #10
0
 public abstract Size GetMenuItemSubMenuPreferedSize(MenuItemSubMenu component);