From 066395666c1973bd0f4e4d8f536cc8ee76b2f6f6 Mon Sep 17 00:00:00 2001 From: Rich Dunne Date: Sat, 17 Oct 2020 07:11:28 -0600 Subject: [PATCH] Refactored for new DismissOption and Path object now handling lists of collected vehicles --- .../Object Classes/CollectedVehicle.cs | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/SceneManager/Object Classes/CollectedVehicle.cs b/SceneManager/Object Classes/CollectedVehicle.cs index 19d9bf1..2638b1e 100644 --- a/SceneManager/Object Classes/CollectedVehicle.cs +++ b/SceneManager/Object Classes/CollectedVehicle.cs @@ -41,7 +41,7 @@ namespace SceneManager //Logger.Log($"{Vehicle.Model.Name} and driver are now persistent."); } - internal void Dismiss(DismissOption dismissOption = DismissOption.FromPath) + internal void Dismiss(DismissOption dismissOption = DismissOption.FromPath, Path newPath = null) { if (!Vehicle || !Driver) { @@ -66,7 +66,7 @@ namespace SceneManager Vehicle.Dismiss(); } Rage.Native.NativeFunction.Natives.x260BE8F09E326A20(Vehicle, 0f, 1, true); - VehicleCollector.collectedVehicles.Remove(this); + Path.CollectedVehicles.Remove(this); return; } @@ -89,6 +89,11 @@ namespace SceneManager DismissFromPath(); } + if(dismissOption == DismissOption.FromDirected) + { + DismissFromDirect(); + } + void DismissFromWorld() { Game.LogTrivial($"Dismissed {Vehicle.Model.Name} from the world"); @@ -151,7 +156,7 @@ namespace SceneManager if (!Directed) { - VehicleCollector.collectedVehicles.Remove(this); + Path.CollectedVehicles.Remove(this); Logger.Log($"{Vehicle.Model.Name} dismissed successfully."); if (Driver) { @@ -172,6 +177,18 @@ namespace SceneManager }); } + + void DismissFromDirect() + { + Dismissed = true; + Directed = true; + if (newPath != null) + { + newPath.CollectedVehicles.Add(this); + Path.CollectedVehicles.Remove(this); + } + Driver.Tasks.Clear(); + } } } }