EDITED :
Hello, I have a grid
Vector2[][] grid;
I would like to get those value
Like this in a dictionary
Vector2.up => [[0][1],[0][2],[0][3],[0][4],[0][5]]
Vector2.left=> [[1][0],[2][0],[3][0],[4][0],[5][0]]
Vector2.right=> [[1][6],[2][6],[3][6],[4][6],[5][6]]
Vector2.down=> [[6][1],[6][2],[6][3],[6][4],[6][5]]
I am doing this :
void GetSpawnablePosition() {
Vector2[] coordX = { Vector2.up, Vector2.down };
Vector2[] coordY = { Vector2.left, Vector2.right };
for (int i = 0; i < coordX.Length; i++)
{
Vector2[] newArray = new Vector2[enemyGrid.grid[0].Length - 2];
if (coordX[i] == Vector2.up)
System.Array.Copy(enemyGrid.grid[0], 1, newArray, 0, enemyGrid.grid[0].Length - 2);
if (coordX[i] == Vector2.down)
System.Array.Copy(enemyGrid.grid[enemyGrid.grid[0].Length - 1], 1, newArray, 0, enemyGrid.grid[0].Length - 2);
spawnablePosition.Add(coordX[i], newArray);
}
for (int i = 0; i < coordY.Length; i++)
{
Vector2[] newArray = new Vector2[enemyGrid.grid.Length - 2];
if (coordY[i] == Vector2.right)
System.Array.Copy(enemyGrid.grid, 1, newArray, 0, enemyGrid.grid.Length - 2);
if (coordY[i] == Vector2.left)
System.Array.Copy(enemyGrid.grid, enemyGrid.grid.Length - 1, newArray, 0, enemyGrid.grid.Length - 2);
spawnablePosition.Add(coordY[i], newArray);
}
Debug.Log(spawnablePosition);
}
But I got ArgumentException: length
, I know my second for is probably broken, I am trying to find a good way to do it... but I always failed for the moment
Isn't there an easiest way to accomplish my task, cause really, I am confused a lot, I saw about Linq but apparently unity can't use it ? (I added Using Systen.Linq) but when i do array.Where() it say error.