private List<Tile> ExtractRemovableTiles(Field field) { List<Tile> removables = new List<Tile>(); int[] keys = new int[field.Tiles.Count]; field.Tiles.Keys.CopyTo(keys, 0); foreach (int key in keys) if (field.CanMove(field.Tiles[key])) removables.Add(field.Tiles[key]); foreach (Tile tile in removables) field.Remove(tile); return removables; }
private void ClickEdit(MouseEventArgs e) { int xp = (int)(e.X / CELLWIDTH); int yp = (int)(e.Y / CELLHEIGHT); if (e.Button == MouseButtons.Right) { Tile tile = _field.GetTileFromCoord(xp, yp); if (tile != null) { _field.Remove(tile); } } else { int zp = _field.FindNewTileZ(xp, yp); Tile tile = new Tile(xp, yp, zp, null); _field.Add(tile); } }
private List <Tile> ExtractRemovableTiles(Field field) { List <Tile> removables = new List <Tile>(); int[] keys = new int[field.Tiles.Count]; field.Tiles.Keys.CopyTo(keys, 0); foreach (int key in keys) { if (field.CanMove(field.Tiles[key])) { removables.Add(field.Tiles[key]); } } foreach (Tile tile in removables) { field.Remove(tile); } return(removables); }