public static void FixPlacementCells() { List<MapRecord> maps = MapRecord.GetMapWithoutPlacementCells(); foreach (MapRecord map in maps) { PlacementPattern pattern = new PlacementPattern(map); pattern.Effectuate(); map.BlueCells = pattern.PlacementCells.BlueCells; map.RedCells = pattern.PlacementCells.RedCells; } }
public static void FixPlacementCells() { List <MapRecord> maps = MapRecord.GetMapWithoutPlacementCells(); foreach (MapRecord map in maps) { PlacementPattern pattern = new PlacementPattern(map); pattern.Effectuate(); map.BlueCells = pattern.PlacementCells.BlueCells; map.RedCells = pattern.PlacementCells.RedCells; } }
private void SetPattern(PlacementPattern pattern) { Point[] blues; Point[] reds; if (pattern.Relativ) { blues = pattern.Blues.Select(entry => new Point(entry.X + pattern.Center.X, entry.Y + pattern.Center.Y)).ToArray(); reds = pattern.Reds.Select(entry => new Point(entry.X + pattern.Center.X, entry.Y + pattern.Center.Y)).ToArray(); } else { blues = pattern.Blues; reds = pattern.Reds; } foreach (var mapCell in mapControl.Cells) { if (blues.Contains(mapCell.GetPlanLocation(mapControl))) { mapCell.State = CellState.BluePlacement; } else if (reds.Contains(mapCell.GetPlanLocation(mapControl))) { mapCell.State = CellState.RedPlacement; } else { mapCell.State = CellState.None; } } checkBoxRelativeIds.Checked = pattern.Relativ; mapControl.Invalidate(); }