1
Fork 0
mirror of https://github.com/thegeneralist01/Scene-Manager-DevRepo synced 2026-01-11 15:40:29 +01:00

Added functions to update path blips and path numbers when a single path is deleted.

This commit is contained in:
Rich Dunne 2020-09-21 11:30:21 -06:00
parent 55af040a6b
commit 03d18f621f

View file

@ -52,6 +52,7 @@ namespace SceneManager
pathMainMenu.AddItem(createNewPath = new UIMenuItem("Create New Path")); pathMainMenu.AddItem(createNewPath = new UIMenuItem("Create New Path"));
createNewPath.ForeColor = Color.Gold; createNewPath.ForeColor = Color.Gold;
pathMainMenu.AddItem(editPath = new UIMenuNumericScrollerItem<int>("Edit Path", "", 1, paths.Count, 1)); pathMainMenu.AddItem(editPath = new UIMenuNumericScrollerItem<int>("Edit Path", "", 1, paths.Count, 1));
editPath.Index = 0;
editPath.ForeColor = Color.Gold; editPath.ForeColor = Color.Gold;
pathMainMenu.AddItem(disableAllPaths); pathMainMenu.AddItem(disableAllPaths);
disableAllPaths.Enabled = true; disableAllPaths.Enabled = true;
@ -152,6 +153,8 @@ namespace SceneManager
if (pathsToDelete == Delete.Single) if (pathsToDelete == Delete.Single)
{ {
paths.Remove(path); paths.Remove(path);
UpdatePathNumbers();
UpdatePathBlips();
BuildPathMenu(); BuildPathMenu();
pathMainMenu.Visible = true; pathMainMenu.Visible = true;
Game.LogTrivial($"Path {path.Number} deleted successfully."); Game.LogTrivial($"Path {path.Number} deleted successfully.");
@ -162,6 +165,27 @@ namespace SceneManager
EditPathMenu.disablePath.Enabled = true; EditPathMenu.disablePath.Enabled = true;
} }
private static void UpdatePathBlips()
{
foreach (Path p in paths)
{
foreach (Waypoint waypoint in p.Waypoints)
{
var blipColor = waypoint.Blip.Color;
waypoint.Blip.Sprite = (BlipSprite)paths.IndexOf(p) + 17;
waypoint.Blip.Color = blipColor;
}
}
}
private static void UpdatePathNumbers()
{
for (int i = 0; i < paths.Count; i++)
{
paths[i].Number = i + 1;
}
}
private static void PathMenu_OnItemSelected(UIMenu sender, UIMenuItem selectedItem, int index) private static void PathMenu_OnItemSelected(UIMenu sender, UIMenuItem selectedItem, int index)
{ {
if (selectedItem == createNewPath) if (selectedItem == createNewPath)
@ -268,7 +292,7 @@ namespace SceneManager
if (selectedItem == dismissDriver) if (selectedItem == dismissDriver)
{ {
var nearbyVehicle = Game.LocalPlayer.Character.GetNearbyVehicles(1).Where(v => v != Game.LocalPlayer.Character.CurrentVehicle && v.VehicleAndDriverValid()).SingleOrDefault(); var nearbyVehicle = Game.LocalPlayer.Character.GetNearbyVehicles(16).Where(v => v != Game.LocalPlayer.Character.CurrentVehicle && v.VehicleAndDriverValid()).FirstOrDefault();
if (nearbyVehicle) if (nearbyVehicle)
{ {
var collectedVehicle = VehicleCollector.collectedVehicles.Where(cv => cv.Vehicle == nearbyVehicle).FirstOrDefault(); var collectedVehicle = VehicleCollector.collectedVehicles.Where(cv => cv.Vehicle == nearbyVehicle).FirstOrDefault();