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

Added more null checks

This commit is contained in:
Rich Dunne 2020-09-03 17:49:54 -06:00
parent 02c545e6a2
commit 305aa22af2

View file

@ -326,7 +326,7 @@ namespace SceneManager
if (selectedItem == dismissDriver) if (selectedItem == dismissDriver)
{ {
var nearbyVehicle = Game.LocalPlayer.Character.GetNearbyVehicles(1).Where(v => v.VehicleAndDriverValid()).SingleOrDefault(); var nearbyVehicle = Game.LocalPlayer.Character.GetNearbyVehicles(1).Where(v => v != Game.LocalPlayer.Character.CurrentVehicle && v.VehicleAndDriverValid()).SingleOrDefault();
if (nearbyVehicle) if (nearbyVehicle)
{ {
switch (dismissDriver.Index) switch (dismissDriver.Index)
@ -336,10 +336,13 @@ namespace SceneManager
if (nearbyVehicle.IsInCollectedVehicles()) if (nearbyVehicle.IsInCollectedVehicles())
{ {
var collectedVehicle = VehicleCollector.collectedVehicles.Where(cv => cv.Vehicle == nearbyVehicle) as CollectedVehicle; var collectedVehicle = VehicleCollector.collectedVehicles.Where(cv => cv.Vehicle == nearbyVehicle) as CollectedVehicle;
collectedVehicle.SetDismissNow(true); if (collectedVehicle != null)
collectedVehicle.Vehicle.Driver.Tasks.Clear(); {
collectedVehicle.Vehicle.Driver.Dismiss(); collectedVehicle.SetDismissNow(true);
Game.LogTrivial($"Dismissed driver of {collectedVehicle.Vehicle.Model.Name} from path {collectedVehicle.Path}"); collectedVehicle.Vehicle.Driver.Tasks.Clear();
collectedVehicle.Vehicle.Driver.Dismiss();
Game.LogTrivial($"Dismissed driver of {collectedVehicle.Vehicle.Model.Name} from path {collectedVehicle.Path}");
}
} }
else else
{ {
@ -352,18 +355,21 @@ namespace SceneManager
if (nearbyVehicle.IsInCollectedVehicles()) if (nearbyVehicle.IsInCollectedVehicles())
{ {
var collectedVehicle = VehicleCollector.collectedVehicles.Where(cv => cv.Vehicle == nearbyVehicle) as CollectedVehicle; var collectedVehicle = VehicleCollector.collectedVehicles.Where(cv => cv.Vehicle == nearbyVehicle) as CollectedVehicle;
collectedVehicle.SetStoppedAtWaypoint(false); if(collectedVehicle != null)
collectedVehicle.Vehicle.Driver.Tasks.Clear(); {
collectedVehicle.Vehicle.Driver.Dismiss(); collectedVehicle.SetStoppedAtWaypoint(false);
collectedVehicle.Vehicle.Driver.Tasks.Clear();
collectedVehicle.Vehicle.Driver.Dismiss();
if (collectedVehicle.CurrentWaypoint == collectedVehicle.TotalWaypoints && !collectedVehicle.StoppedAtWaypoint) if (collectedVehicle.CurrentWaypoint == collectedVehicle.TotalWaypoints && !collectedVehicle.StoppedAtWaypoint)
{ {
collectedVehicle.SetDismissNow(true); collectedVehicle.SetDismissNow(true);
Game.LogTrivial($"Dismissed driver of {collectedVehicle.Vehicle.Model.Name} from final waypoint and ultimately the path"); Game.LogTrivial($"Dismissed driver of {collectedVehicle.Vehicle.Model.Name} from final waypoint and ultimately the path");
} }
else else
{ {
Game.LogTrivial($"Dismissed driver of {collectedVehicle.Vehicle.Model.Name} from waypoint {collectedVehicle.CurrentWaypoint}"); Game.LogTrivial($"Dismissed driver of {collectedVehicle.Vehicle.Model.Name} from waypoint {collectedVehicle.CurrentWaypoint}");
}
} }
} }
else else