mirror of
https://github.com/thegeneralist01/Scene-Manager-DevRepo
synced 2026-01-11 15:40:29 +01:00
Fixed a crash when trying to call DriveVehicleToNextWaypoint when the path has no waypoints. Removed dead code.
This commit is contained in:
parent
69cf4a8cd3
commit
90b9b1dd64
1 changed files with 4 additions and 18 deletions
|
|
@ -33,7 +33,7 @@ namespace SceneManager
|
||||||
{
|
{
|
||||||
StopVehicleAtWaypoint(currentWaypoint, collectedVehicle);
|
StopVehicleAtWaypoint(currentWaypoint, collectedVehicle);
|
||||||
}
|
}
|
||||||
if(currentWaypoint != path?.Waypoints?.Last())
|
if(path?.Waypoints?.Count > 0 && currentWaypoint != path?.Waypoints?.Last())
|
||||||
{
|
{
|
||||||
DriveVehicleToNextWaypoint(collectedVehicle, path, currentWaypoint);
|
DriveVehicleToNextWaypoint(collectedVehicle, path, currentWaypoint);
|
||||||
}
|
}
|
||||||
|
|
@ -58,15 +58,7 @@ namespace SceneManager
|
||||||
|
|
||||||
Logger.Log($"{collectedVehicle.Vehicle.Model.Name} is driving to path {currentWaypoint.Path.Number} waypoint {currentWaypoint.Number} (directed)");
|
Logger.Log($"{collectedVehicle.Vehicle.Model.Name} is driving to path {currentWaypoint.Path.Number} waypoint {currentWaypoint.Number} (directed)");
|
||||||
Logger.Log($"{collectedVehicle.Vehicle.Model.Name} Dismissed: {collectedVehicle.Dismissed}, Directed: {collectedVehicle.SkipWaypoint}");
|
Logger.Log($"{collectedVehicle.Vehicle.Model.Name} Dismissed: {collectedVehicle.Dismissed}, Directed: {collectedVehicle.SkipWaypoint}");
|
||||||
collectedVehicle.Driver.Tasks.DriveToPosition(currentWaypoint.Position, currentWaypoint.Speed, currentWaypoint.DrivingFlag, acceptedDistance);
|
collectedVehicle.Driver.Tasks.DriveToPosition(currentWaypoint.Position, currentWaypoint.Speed, (VehicleDrivingFlags)currentWaypoint.DrivingFlagType, acceptedDistance);
|
||||||
//if (currentWaypoint.DrivingFlag == VehicleDrivingFlags.IgnorePathFinding)
|
|
||||||
//{
|
|
||||||
// collectedVehicle.Driver.Tasks.DriveToPosition(currentWaypoint.Position, currentWaypoint.Speed, (VehicleDrivingFlags)17040299, acceptedDistance);
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
// collectedVehicle.Driver.Tasks.DriveToPosition(currentWaypoint.Position, currentWaypoint.Speed, (VehicleDrivingFlags)263075, acceptedDistance);
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LoopWhileDrivingToDirectedWaypoint(float acceptedDistance)
|
void LoopWhileDrivingToDirectedWaypoint(float acceptedDistance)
|
||||||
|
|
@ -112,9 +104,9 @@ namespace SceneManager
|
||||||
//Logger.Log($"{collectedVehicle.Vehicle.Model.Name} current waypoint: {collectedVehicle.CurrentWaypoint.Number}");
|
//Logger.Log($"{collectedVehicle.Vehicle.Model.Name} current waypoint: {collectedVehicle.CurrentWaypoint.Number}");
|
||||||
float acceptedDistance = GetAcceptedStoppingDistance(path.Waypoints, currentWaypointTask);
|
float acceptedDistance = GetAcceptedStoppingDistance(path.Waypoints, currentWaypointTask);
|
||||||
|
|
||||||
Logger.Log($"{vehicle.Model.Name} is driving to path {currentWaypoint.Path.Number} waypoint {path.Waypoints[currentWaypointTask].Number} (Stop: {currentWaypoint.IsStopWaypoint}, Driving flag: {(DrivingFlagType)currentWaypoint.DrivingFlag})");
|
Logger.Log($"{vehicle.Model.Name} is driving to path {currentWaypoint.Path.Number} waypoint {path.Waypoints[currentWaypointTask].Number} (Stop: {currentWaypoint.IsStopWaypoint}, Driving flag: {currentWaypoint.DrivingFlagType})");
|
||||||
Logger.Log($"{vehicle.Model.Name} driver is persistent: {driver.IsPersistent}");
|
Logger.Log($"{vehicle.Model.Name} driver is persistent: {driver.IsPersistent}");
|
||||||
driver.Tasks.DriveToPosition(path.Waypoints[currentWaypointTask].Position, path.Waypoints[currentWaypointTask].Speed, path.Waypoints[currentWaypointTask].DrivingFlag, acceptedDistance);
|
driver.Tasks.DriveToPosition(path.Waypoints[currentWaypointTask].Position, path.Waypoints[currentWaypointTask].Speed, (VehicleDrivingFlags)path.Waypoints[currentWaypointTask].DrivingFlagType, acceptedDistance);
|
||||||
LoopWhileDrivingToWaypoint(currentWaypointTask, acceptedDistance);
|
LoopWhileDrivingToWaypoint(currentWaypointTask, acceptedDistance);
|
||||||
|
|
||||||
if (!VehicleAndDriverAreValid(collectedVehicle))
|
if (!VehicleAndDriverAreValid(collectedVehicle))
|
||||||
|
|
@ -184,18 +176,12 @@ namespace SceneManager
|
||||||
{
|
{
|
||||||
Logger.Log($"Vehicle is null");
|
Logger.Log($"Vehicle is null");
|
||||||
collectedVehicle.Dismiss();
|
collectedVehicle.Dismiss();
|
||||||
//if(collectedVehicle.Driver)
|
|
||||||
//{
|
|
||||||
// collectedVehicle.Driver.IsPersistent = false;
|
|
||||||
//}
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!collectedVehicle.Driver || !collectedVehicle.Driver.IsAlive && !collectedVehicle.Dismissed)
|
if (!collectedVehicle.Driver || !collectedVehicle.Driver.IsAlive && !collectedVehicle.Dismissed)
|
||||||
{
|
{
|
||||||
collectedVehicle.Dismiss();
|
collectedVehicle.Dismiss();
|
||||||
//Logger.Log($"{collectedVehicle.Vehicle.Model.Name} driver is null or dead");
|
//Logger.Log($"{collectedVehicle.Vehicle.Model.Name} driver is null or dead");
|
||||||
//Logger.Log($"{collectedVehicle.Vehicle.Model.Name} persistent: {collectedVehicle.Vehicle.IsPersistent}");
|
|
||||||
//collectedVehicle.Vehicle.IsPersistent = false;
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue