public static void DequeueVehicle(ushort lineID) { if (TransportLineMod._lineData[(int)lineID].QueuedVehicles == null) { return; } TransportLineMod.DecreaseTargetVehicleCount(lineID); TransportLineMod.Dequeue(lineID); }
public static void RemoveVehicle(ushort lineID, ushort vehicleID, bool descreaseVehicleCount = true) { if (descreaseVehicleCount) { TransportLineMod.DecreaseTargetVehicleCount(lineID); } VehicleManager instance = Singleton <VehicleManager> .instance; instance.m_vehicles.m_buffer[(int)vehicleID].Info.m_vehicleAI.SetTransportLine(vehicleID, ref instance.m_vehicles.m_buffer[(int)vehicleID], (ushort)0); }
public static void DequeueVehicles(ushort lineID, int[] indexes, bool descreaseVehicleCount = true) { lock (TransportLineMod._lineData[(int)lineID].QueuedVehicles) { List <string> stringList = new List <string>((IEnumerable <string>)TransportLineMod._lineData[(int)lineID].QueuedVehicles); for (int index = indexes.Length - 1; index >= 0; --index) { stringList.RemoveAt(indexes[index]); if (descreaseVehicleCount) { TransportLineMod.DecreaseTargetVehicleCount(lineID); } } TransportLineMod._lineData[(int)lineID].QueuedVehicles = new Queue <string>((IEnumerable <string>)stringList); } }