MatrixWalk.MatrixRotatingWalk.IsCellAvailable C# (CSharp) Method

IsCellAvailable() private method

private IsCellAvailable ( int row, int col ) : bool
row int
col int
return bool
        private bool IsCellAvailable(int row, int col)
        {
            int[] directionRow = { 1, 1, 1, 0, -1, -1, -1, 0 };
            int[] directionCol = { 1, 0, -1, -1, -1, 0, 1, 1 };

            for (int i = 0; i < DirectionsCount; i++)
            {
                int nextRow = row + directionRow[i];

                if (!this.IsInRange(nextRow))
                {
                    directionRow[i] = 0;
                }

                int nextCol = col + directionCol[i];

                if (!this.IsInRange(nextCol))
                {
                    directionCol[i] = 0;
                }
            }

            return this.CheckIfNextCellIsEmpty(row, col, directionRow, directionCol);
        }