private DanceMove ParseLine(string line) { // TODO: will fail if any entry has a comma in it var columns = line.Split(','); var p0 = ParseStepList(columns[(int) CSVColumns.P1Sequence]); var p1 = ParseStepList(columns[(int) CSVColumns.P2Sequence]); int n = p0.Length; var steps = new DanceStepPair[n]; for (int i = 0; i < n; i++) { steps[i] = new DanceStepPair { p0 = ParseStep(p0[i], p1[i], false), p1 = ParseStep(p1[i], p0[i], true) }; } return new DanceMove { Id = int.Parse(columns[(int) CSVColumns.Id]), Description = columns[(int) CSVColumns.EffectDescription], Steps = steps, Effect = ParseEffect(columns[(int) CSVColumns.Effect]), IsAvailable = ParseRequirement(columns[(int) CSVColumns.Require]) }; }
private bool Match(DanceStepPair pair0, DanceStepPair pair1) { return (pair0.p0 == pair1.p0) && (pair0.p1 == pair1.p1); }