public static PipeDirection ToBaseDirection(this PipeShape shape) { return(shape switch { PipeShape.Half => PipeDirection.South, PipeShape.Straight => PipeDirection.Longitudinal, PipeShape.Bend => PipeDirection.SWBend, PipeShape.TJunction => PipeDirection.TSouth, PipeShape.Fourway => PipeDirection.Fourway, _ => throw new ArgumentOutOfRangeException(nameof(shape), $"{shape} does not have an associated {nameof(PipeDirection)}."), });
public PipeVisualState(PipeShape pipeShape, PipeDirection connectedDirections) { PipeShape = pipeShape; ConnectedDirections = connectedDirections; }