/// <summary> /// Whether the arc has a valid placement. /// A placement is valid if: /// 1. No Arc exists in the field /// 2. Arc length is equal to field length /// 3. Arcs do not overlap /// </summary> /// <param name="arc"></param> /// <returns></returns> public bool ValidPlacement(Arc arc) { var noArc = !HasArc; var overlap = Overlap.Any(field => field.HasArc); return(noArc && arc.Length == Length && !overlap); }
public bool ValidPlacement(Arc arc) { // A placement is valid if: // 1. No Arc exists in the field // 2. Arc length is equal to field length // 3. Arcs do not overlap var noArc = !HasArc;// || Arc.Equals(arc); var overlap = Overlap.Any(field => field.HasArc); return(noArc && arc.Length == Length && !overlap); }