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

Added more guard clauses to IsValidForPathCollection

This commit is contained in:
Rich Dunne 2021-05-23 08:33:23 -06:00
parent c3e401193b
commit 97c6fd91c6

View file

@ -116,11 +116,6 @@ namespace SceneManager.Utils
/// </summary> /// </summary>
internal static bool IsNearCollectorWaypoint(this Vehicle vehicle, Waypoint waypoint) internal static bool IsNearCollectorWaypoint(this Vehicle vehicle, Waypoint waypoint)
{ {
if(!waypoint.IsCollector)
{
return false;
}
return vehicle.FrontPosition.DistanceTo2D(waypoint.Position) <= waypoint.CollectorRadius && Math.Abs(waypoint.Position.Z - vehicle.Position.Z) < 3; return vehicle.FrontPosition.DistanceTo2D(waypoint.Position) <= waypoint.CollectorRadius && Math.Abs(waypoint.Position.Z - vehicle.Position.Z) < 3;
} }
@ -137,6 +132,16 @@ namespace SceneManager.Utils
return false; return false;
} }
if(path.BlacklistedVehicles.Contains(vehicle))
{
return false;
}
if(vehicle == Game.LocalPlayer.Character.LastVehicle)
{
return false;
}
if (vehicle.Driver) if (vehicle.Driver)
{ {
if (!vehicle.Driver.IsAlive) if (!vehicle.Driver.IsAlive)
@ -153,7 +158,7 @@ namespace SceneManager.Utils
} }
} }
if (vehicle != Game.LocalPlayer.Character.LastVehicle && (vehicle.IsCar || vehicle.IsBike || vehicle.IsBicycle || vehicle.IsQuadBike) && !vehicle.IsSirenOn && vehicle.IsEngineOn && vehicle.IsOnAllWheels && vehicle.Speed > 1 && !path.CollectedPeds.Any(cp => cp && cp.CurrentVehicle == vehicle) && !path.BlacklistedVehicles.Contains(vehicle)) if ((vehicle.IsCar || vehicle.IsBike || vehicle.IsBicycle || vehicle.IsQuadBike) && !vehicle.IsSirenOn && vehicle.IsEngineOn && vehicle.IsOnAllWheels && vehicle.Speed > 1 && !path.CollectedPeds.Any(cp => cp && cp.CurrentVehicle == vehicle))
{ {
if (!vehicle.HasDriver) if (!vehicle.HasDriver)
{ {
@ -166,7 +171,7 @@ namespace SceneManager.Utils
{ {
return false; return false;
} }
Game.LogTrivial($"Vehicle has a new driver");
vehicle.Driver.IsPersistent = true; vehicle.Driver.IsPersistent = true;
vehicle.Driver.BlockPermanentEvents = true; vehicle.Driver.BlockPermanentEvents = true;
} }