In the below code snippet I'm trying to instantiate gameobjects at different probability rates but I keep on getting the following error:
No appropriate version of 'UnityEngine.Object.Instantiate' for the argument list '(Spawn06[])' was found.
The help would be much appreicated. Thanks.
public var Characters : Spawn06[];
function SpawnCharacters() {
var i = Random.Range(0, 100);
for(var j = 0; j < Characters.Length; j++) {
if(i >= Characters [j].minProbabilityRange && i <= Characters [j].maxProbabilityRange) {
temp = Instantiate(Characters);
pos = temp.transform.position;
temp.transform.position = new Vector3(Random.Range(-3, 4), pos.y, pos.z);
}
}
}
public class Spawn06 {
public var spawnCharacters : GameObject;
public var minProbabilityRange : int = 0;
public var maxProbabilityRange : int = 0;
}
You can't pass your an array of your class to Instantiate.
for(var j = 0; j < Characters.Length; j++) {
if(i >= Characters [j].minProbabilityRange && i <= Characters [j].maxProbabilityRange) {
temp = Instantiate(Characters[j].spawnCharacters); // Pass a GameObject instead of an Array of Spawn06
pos = temp.transform.position;
temp.transform.position = new Vector3(Random.Range(-3, 4), pos.y, pos.z);
}
}
}