Esempio n. 1
0
        public VisualElement[,] LoadVisibleLevel(VisualElement[,] VisibleMatrix, VisualElement[,] matrix, Hero hero)
        {
            VisualElements VisualLoader = new VisualElements();

            VisibleMatrix[VisibleMatrix.GetLength(0) / 2, VisibleMatrix.GetLength(1) / 2] = VisualLoader.Hero(1);
            for (int r2 = 0; r2 < VisibleMatrix.GetLength(0); r2++)
            {
                for (int c2 = 0; c2 < VisibleMatrix.GetLength(0); c2++)
                {
                    int actualPositionRow = hero.Position.row - VisibleMatrix.GetLength(0) / 2 + r2;
                    int actualPositionCol = hero.Position.col - VisibleMatrix.GetLength(0) / 2 + c2;

                    if (actualPositionRow >= 0 ||
                        actualPositionRow > matrix.GetLength(0) ||
                        actualPositionCol >= 0 ||
                        actualPositionCol > matrix.GetLength(1))
                    {
                        VisibleMatrix[r2, c2] = VisualLoader.Empty(sizeOfVisualElements);
                    }
                    else
                    {
                        VisibleMatrix[r2, c2] = matrix[actualPositionRow, actualPositionCol];
                    }
                }
            }
            return VisibleMatrix;
        }