private Chamber[,] ChamberGetter(ref int[,] mapMatrix, ref Chamber[][] theChamberPool) { Chamber[,] result = new Chamber[mapSizeX, mapSizeY]; theChamberPool = LoadChambers(); for (int i = 0; i < result.GetLength(0); i++) { for (int j = 0; j < result.GetLength(1); j++) { if (mapMatrix[i, j] != 0) { Chamber chosenChamber = theChamberPool[(int)mapMatrix[i, j] - 1][Random.Range(0, theChamberPool[(int)mapMatrix[i, j] - 1].Length)]; Chamber toPut = new Chamber(); EqualizeChambers(toPut, chosenChamber); result[i, j] = toPut; } } } return(result); }