public Destination(TransportTycoon.Location location, int travelDuration, int loadDuration = 0, int unloadDuration = 0)
 {
     Location       = location;
     TravelDuration = travelDuration;
     LoadDuration   = loadDuration;
     UnloadDuration = unloadDuration;
 }
 public void Deconstruct(out TransportTycoon.Location location, out int travelDuration, out int loadDuration, out int unloadDuration)
 {
     location       = Location;
     travelDuration = TravelDuration;
     loadDuration   = LoadDuration;
     unloadDuration = UnloadDuration;
 }
 public void Deconstruct(out int id, out TransportTycoon.Location origin, out TransportTycoon.Location destination)
 {
     id          = Id;
     origin      = Origin;
     destination = Destination;
 }
 public void Deconstruct(out TransportTycoon.Location from, out TransportTycoon.TransportType transportType, out TransportTycoon.Location?to)
 {
     from          = From;
     transportType = TransportType;
     to            = To;
 }
 public Cargo(int id, TransportTycoon.Location origin, TransportTycoon.Location destination)
 {
     Id          = id;
     Origin      = origin;
     Destination = destination;
 }
 public Track(TransportTycoon.Location from, TransportTycoon.TransportType transportType, TransportTycoon.Location?to)
 {
     From          = from;
     TransportType = transportType;
     To            = to;
 }