Пример #1
0
 private void PushRowsDown(int startFrom, int distance)
 {
     for (int j = startFrom; j < grid.Size.y; j++)
     {
         for (int i = 0; i < grid.Size.x; i++)
         {
             Vector2Int from = new Vector2Int(i, j);
             Vector2Int to   = new Vector2Int(i, j - distance);
             grid.ReplaceMino(to, grid.GetCell(from));
             grid.DeleteMino(from);
         }
     }
 }
Пример #2
0
        private void RemoveTetraminoFromGrid(TetraminoGridData tetraminoGridData)
        {
            if (tetraminoGridData == null)
            {
                return;
            }

            foreach (var minoPosition in tetraminoGridData.GetMinosGridPositions())
            {
                tetraminoGridData.Minos.Remove(grid.GetCell(minoPosition));
                grid.DeleteMino(minoPosition);
            }

            if (tetraminoGridData.Minos.Count > 0)
            {
                throw new InvalidOperationException();
            }
        }