public static RegionMoves Combine(RegionMoves first, RegionMoves second) { RegionMoves newRegionMoves = new RegionMoves(); newRegionMoves.SetDirectionSegmentCount(first.ForwardIn1stD.Count + second.ForwardIn1stD.Count, first.ReverseIn1stD.Count + second.ReverseIn1stD.Count, first.ForwardIn2ndD.Count + second.ForwardIn2ndD.Count, first.ReverseIn2ndD.Count + second.ReverseIn2ndD.Count); newRegionMoves.SetDistanceSegmentCount(first.JumpIn1stD.Count + second.JumpIn1stD.Count, first.ContiguityIn1stD.Count + second.ContiguityIn1stD.Count, first.JumpIn2ndD.Count + second.JumpIn2ndD.Count, first.ContiguityIn2ndD.Count + second.ContiguityIn2ndD.Count); return(newRegionMoves); }