how to check for GameObject is null in array with random ?
unity says : "The object of type 'GameObject' has been destroyed but you are still trying to access it. Your script should either check if it is null or you should not destroy the object."
my try with WHILE don't proceed
var ArrayRandomPlace = new Array();
ArrayRandomPlace.Add(empty01);
ArrayRandomPlace.Add(empty02);
ArrayRandomPlace.Add(empty03);
while (ArrayRandomPlace == 0) return ;
Instantiate(card01, ArrayRandomPlace[Random.Range(0,ArrayRandomPlace.length)].transform.position, transform.rotation); yield WaitForSeconds(0.1);
Destroy(ArrayRandomPlace[Random.Range(0,ArrayRandomPlace.length)]);
Instantiate(card02, ArrayRandomPlace[Random.Range(0,ArrayRandomPlace.length)].transform.position, transform.rotation); yield WaitForSeconds(0.1);
Destroy(ArrayRandomPlace[Random.Range(0,ArrayRandomPlace.length)]);
Instantiate(card03, ArrayRandomPlace[Random.Range(0,ArrayRandomPlace.length)].transform.position, transform.rotation); yield WaitForSeconds(0.1);
Destroy(ArrayRandomPlace[Random.Range(0,ArrayRandomPlace.length)]);
Edit : here you see my next try, complete code :
// my prefabs cards
var card01 : GameObject;
var card02 : GameObject;
var card03 : GameObject;
var card04 : GameObject;
var card05 : GameObject;
var card06 : GameObject;
var card07 : GameObject;
var card08 : GameObject;
var card09 : GameObject;
var card10 : GameObject;
var card11 : GameObject;
var card12 : GameObject;
var card13 : GameObject;
var card14 : GameObject;
var card15 : GameObject;
var card16 : GameObject;
// my empty container positions in scene X, Y, Z
var empty01 : GameObject; // 0,0,0
var empty02 : GameObject; // 2,0,0
var empty03 : GameObject; // 4,0,0
var empty04 : GameObject; // 6,0,0
var empty05 : GameObject; // 0,-2,0
var empty06 : GameObject; // 2,-2,0
var empty07 : GameObject; // 4,-2,0
var empty08 : GameObject; // 6,-2,0
var empty09 : GameObject; // 0,-4,0
var empty10 : GameObject; // 2,-4,0
var empty11 : GameObject; // 4,-4,0
var empty12 : GameObject; // 6,-4,0
var empty13 : GameObject; // 0,-6,0
var empty14 : GameObject; // 2,-6,0
var empty15 : GameObject; // 4,-6,0
var empty16 : GameObject; // 6,-6,0
function newField() {
var ArrayRandomPlace = new Array();
ArrayRandomPlace.Add(empty01);
ArrayRandomPlace.Add(empty02);
ArrayRandomPlace.Add(empty03);
ArrayRandomPlace.Add(empty04);
ArrayRandomPlace.Add(empty05);
ArrayRandomPlace.Add(empty06);
ArrayRandomPlace.Add(empty07);
ArrayRandomPlace.Add(empty08);
ArrayRandomPlace.Add(empty09);
ArrayRandomPlace.Add(empty10);
ArrayRandomPlace.Add(empty11);
ArrayRandomPlace.Add(empty12);
ArrayRandomPlace.Add(empty13);
ArrayRandomPlace.Add(empty14);
ArrayRandomPlace.Add(empty15);
ArrayRandomPlace.Add(empty16);
var rndIndex = Random.Range(0, ArrayRandomPlace.length - 1);
var rndPlace = ArrayRandomPlace[rndIndex];
Instantiate(card01, rndPlace.transform.position, transform.rotation); yield WaitForSeconds(0.1);
ArrayRandomPlace.RemoveAt(rndIndex);
Instantiate(card02, rndPlace.transform.position, transform.rotation); yield WaitForSeconds(0.1);
ArrayRandomPlace.RemoveAt(rndIndex);
Instantiate(card03, rndPlace.transform.position, transform.rotation); yield WaitForSeconds(0.1);
ArrayRandomPlace.RemoveAt(rndIndex);
Instantiate(card04, rndPlace.transform.position, transform.rotation); yield WaitForSeconds(0.1);
ArrayRandomPlace.RemoveAt(rndIndex);
Instantiate(card05, rndPlace.transform.position, transform.rotation); yield WaitForSeconds(0.1);
ArrayRandomPlace.RemoveAt(rndIndex);
Instantiate(card06, rndPlace.transform.position, transform.rotation); yield WaitForSeconds(0.1);
ArrayRandomPlace.RemoveAt(rndIndex);
Instantiate(card07, rndPlace.transform.position, transform.rotation); yield WaitForSeconds(0.1);
ArrayRandomPlace.RemoveAt(rndIndex);
Instantiate(card08, rndPlace.transform.position, transform.rotation); yield WaitForSeconds(0.1);
ArrayRandomPlace.RemoveAt(rndIndex);
Instantiate(card09, rndPlace.transform.position, transform.rotation); yield WaitForSeconds(0.1);
ArrayRandomPlace.RemoveAt(rndIndex);
Instantiate(card10, rndPlace.transform.position, transform.rotation); yield WaitForSeconds(0.1);
ArrayRandomPlace.RemoveAt(rndIndex);
Instantiate(card11, rndPlace.transform.position, transform.rotation); yield WaitForSeconds(0.1);
ArrayRandomPlace.RemoveAt(rndIndex);
Instantiate(card12, rndPlace.transform.position, transform.rotation); yield WaitForSeconds(0.1);
ArrayRandomPlace.RemoveAt(rndIndex);
Instantiate(card13, rndPlace.transform.position, transform.rotation); yield WaitForSeconds(0.1);
ArrayRandomPlace.RemoveAt(rndIndex);
Instantiate(card14, rndPlace.transform.position, transform.rotation); yield WaitForSeconds(0.1);
ArrayRandomPlace.RemoveAt(rndIndex);
Instantiate(card15, rndPlace.transform.position, transform.rotation); yield WaitForSeconds(0.1);
ArrayRandomPlace.RemoveAt(rndIndex);
Instantiate(card16, rndPlace.transform.position, transform.rotation); yield WaitForSeconds(0.1);
}
here is a screenshot to this : http://i55.tinypic.com/2zhlaja.jpg