예제 #1
0
 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;
            }
        }
예제 #3
0
파일: FormMain.cs 프로젝트: Mixi59/Stump
        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();
        }