示例#1
0
        private void FxHighlight_OnItemSelect(UIMenu sender, UIMenuItem selectedItem, int index, UIMenuItem itemToControl, FxName fxName, string asset, bool useEvolutionArg = false)
        {
            if (selectedItem == itemToControl)
            {
                PTFXHelper.RemovePTFX(fxHandle);

                if (itemToControl.Text == "REMOVED")
                {
                    return;
                }

                Ped player = Game.Player.Character;

                PlayLoopOrNonLoopedFX(player.IsInVehicle() ? player.CurrentVehicle : (Entity)player, asset, fxName, useEvolutionArg);

                lastAsset  = asset;
                lastFXName = fxName;

                if (Game.IsKeyPressed(Keys.ShiftKey))
                {
                    if (sender == FavouritesMenu || (sender.ParentMenu != null && sender.ParentMenu == FavouritesMenu)) //Remove from favourites
                    {
                        try
                        {
                            FavouritesList.Remove(FavouritesList.Find(d => d.FxName == fxName && d.AssetName == asset));
                            ForceDecimal();
                            XMLHelper.SaveObjectToXML(FavouritesList, @"scripts\ParticleFxFavourites.xml");

                            if (sender == FavouritesMenu)
                            {
                                itemToControl.Text        = "REMOVED";
                                itemToControl.Value       = null;
                                itemToControl.Description = null;
                            }
                            else if (sender.ParentMenu != null && sender.ParentMenu == FavouritesMenu)
                            {
                                sender.Title                  = "REMOVED";
                                sender.ParentItem.Text        = "REMOVED";
                                sender.ParentItem.Description = null;
                            }

                            UI.ShowSubtitle("Removed from Favourites!");
                        }
                        catch { }
                    }
                    else //Add to favourites
                    {
                        DetailedFx newFav = new DetailedFx(asset, fxName);
                        FavouritesList.Add(newFav);
                        ForceDecimal();
                        XMLHelper.SaveObjectToXML(FavouritesList, @"scripts\ParticleFxFavourites.xml");
                        UI.ShowSubtitle("Saved to Favourites!");

                        favLastIndex      = FavouritesMenu.SelectedIndex;
                        rebuildFavourites = true;
                        allowMenuDraw     = false;
                    }
                }
            }
        }
示例#2
0
 void ForceRemoveSurroundingFX(Entity e)
 {
     PTFXHelper.RemovePTFX(fxHandle);
     PTFXHelper.RemovePTFXInRange(e.Position, 10f);
 }
示例#3
0
        private void FXMenu_OnItemSelect(UIMenu sender, UIMenuItem selectedItem, int index)
        {
            if (selectedItem == ItemRemoveNearbyFx)
            {
                ForceRemoveSurroundingFX(Game.Player.Character);
            }

            if (selectedItem == ItemSearch)
            {
                searchString = Game.GetUserInput(25);
                if (searchString == null || searchString == "")
                {
                    FXMenu.IsVisible = false; SearchMenu.IsVisible = true; return;
                }
                SearchMenu.ResetIndexPosition();
                SearchMenu.SelectedItem = null;
                if (SearchMenu.UIMenuItemList.Count > 0)
                {
                    SearchMenu.UIMenuItemList.Clear();
                }
                FXMenu.IsVisible = false; SearchMenu.IsVisible = true;

                doSearch      = true;
                allowMenuDraw = false;
            }

            if (selectedItem == ItemMoveTask)
            {
                if (PlayerIsTaskedToMove)
                {
                    Game.Player.Character.Task.ClearAll();
                    PlayerIsTaskedToMove = false;
                }
                else
                {
                    if (Game.Player.Character.IsInVehicle())
                    {
                        Game.Player.Character.Task.CruiseWithVehicle(Game.Player.Character.CurrentVehicle, 50f, 6); //gtaforums.com/topic/822314-guide-driving-styles/
                    }
                    else
                    {
                        Game.Player.Character.Task.WanderAround();
                    }
                    PlayerIsTaskedToMove = true;
                }
            }

            if (selectedItem == ItemColourR || selectedItem == ItemColourG || selectedItem == ItemColourB || selectedItem == ItemFxSize || selectedItem == ItemRange)
            {
                if (lastAsset != null && lastFXName != null)
                {
                    PTFXHelper.RemovePTFX(fxHandle);

                    Ped player = Game.Player.Character;

                    PlayLoopOrNonLoopedFX(player.IsInVehicle() ? player.CurrentVehicle : (Entity)player, lastAsset, lastFXName, lastFXName.EvolutionList.Count > 0 ? true : false);

                    if (PTFXHelper.DoesPTFXLoopedExist(fxHandle))
                    {
                        if (selectedItem == ItemColourR || selectedItem == ItemColourG || selectedItem == ItemColourB)
                        {
                            PTFXHelper.SetColour(fxHandle, colourR, colourG, colourB);
                        }
                        else if (selectedItem == ItemRange)
                        {
                            PTFXHelper.SetColour(fxHandle, colourR, colourG, colourB);
                            PTFXHelper.SetRange(fxHandle, rangeFx);
                        }
                    }
                }
            }
        }
示例#4
0
 private void OnAbort(object sender, EventArgs e)
 {
     PTFXHelper.RemovePTFX(fxHandle);
     ForceRemoveSurroundingFX(Game.Player.Character);
 }