2017-06-10 7 views
1

Ich versuche ein Objekt-Pooling-System für meinen WaveSpawner zu erstellen.Unity 5 2DArray, Objekt-Pooling

Das ist, was ich habe (objectPool ist ein 2D-Array):

objectPool = new GameObject[wave.Length,0]; 

//set columns 
for(int i = 0;i< objectPool.Length;i++) 
{ 
    objectPool = new GameObject[i,wave[i].numberToSpawn]; //set row for ech column 
} 


for (int p = 0; p < wave.Length; p++) 
{ 
    for(int i = 0;i<wave[p].numberToSpawn;i++) 
    { 
     GameObject gbj = Instantiate(wave[p].spawnObject); 
     gbj.transform.position = RandomizePositions(); 
     gbj.SetActive(false); 
     objectPool[p,i]= gbj; //fill 2D array 
    } 
} 

Das ist der Fehler Ich habe;

Der Array-Index liegt außerhalb des zulässigen Bereichs.

Antwort

2
objectPool = new GameObject[wave.Length,0]; 

Sie erstellen das Array mit einer Größe von 0 in der zweiten Dimension.

Verwandte Themen