コード例 #1
0
 public static void DequeueVehicle(ushort lineID)
 {
     if (TransportLineMod._lineData[(int)lineID].QueuedVehicles == null)
     {
         return;
     }
     TransportLineMod.DecreaseTargetVehicleCount(lineID);
     TransportLineMod.Dequeue(lineID);
 }
コード例 #2
0
        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);
        }
コード例 #3
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);
     }
 }