/// <summary> /// Method to simulate departing from station /// </summary> /// <param name="releaseTrack"> If false will leave station without releasing exit track. /// False should be used only by station manager. </param> public void DepartFromStation(Boolean releaseTrack = true) { Thread.Sleep(Station.arrivalTime); if (releaseTrack) { CurrentTrack.Free(); } station.Trains.Remove(this); TrainStatus = Status.Departed; }