public void Start(Dialog_FormVehicleCaravan formCaravanDialog) { if (Active) { Stop(); } currentFormCaravanDialog = formCaravanDialog; caravanInfoFromFormCaravanDialog = new VehicleCaravanTicksPerMoveUtility.VehicleInfo(formCaravanDialog); formCaravanDialog.choosingRoute = true; Find.WindowStack.TryRemove(formCaravanDialog, true); vehicles = caravanInfoFromFormCaravanDialog.Value.vehicles.Where(v => v is VehiclePawn).ToList(); InitiateRoutePlanner(); TryAddWaypoint(formCaravanDialog.CurrentTile, true); cantRemoveFirstWaypoint = true; }
public void Stop() { Active = false; for (int i = 0; i < waypoints.Count; i++) { waypoints[i].Destroy(); } waypoints.Clear(); cachedTicksToWaypoint.Clear(); vehicles.Clear(); if (currentFormCaravanDialog != null) { currentFormCaravanDialog.Notify_NoLongerChoosingRoute(); } caravanInfoFromFormCaravanDialog = null; currentFormCaravanDialog = null; cantRemoveFirstWaypoint = false; ReleasePaths(); WorldPathTextMeshGenerator.ResetAllTextMeshObjects(); }
public VehicleInfo(Dialog_FormVehicleCaravan formCaravanDialog) { vehicles = TransferableUtility.GetPawnsFromTransferables(formCaravanDialog.transferables).Where(v => v is VehiclePawn).Cast <VehiclePawn>().ToList(); massUsage = formCaravanDialog.MassUsage; massCapacity = formCaravanDialog.MassCapacity; }