This is a javascript script that spawns certain objects based on what number the timer starts and spawns the objects every x seconds in 2 different locations. For some reason this code keeps crashing my macbook so it’s really annoying and I don’t know how to improve it better because I am fairly new to javascript.
Here is the script:
#pragma strict
var spawning : boolean = false;
var spawn1 : Transform;
var spawn2 : Transform;
var timer : float;
var green : Rigidbody[];
var build : Rigidbody[];
var buildr : Rigidbody[];////for objects on the right
var index : int;
var indexr : int;
var whatSpawn: float;///what objects to start spawning
var objgreen : Rigidbody;
var objbuild : Rigidbody;
var objbuildr : Rigidbody;
public static var picker : int;///used in objects moving script
function Start(){
whatSpawn = Mathf.Abs(Random.Range(0,60));
}
function FixedUpdate ()
{
whatSpawn += Time.deltaTime;
if(!spawning){
timer += Time.deltaTime;
}
if(timer >= 0.5f){
Spawn();
}
}
function Spawn()
{
spawning = true;
timer = 0;
var randomPick : int = Mathf.Abs(Random.Range(0,3));///decides where objects will spawn
var location : Transform ;
if(randomPick == 1 ){
location = spawn1;
picker = 1;
}
else if(randomPick == 2 ){
location = spawn2;
picker = 2;
}
if(spawning == true){
if(whatSpawn > 0 && whatSpawn < 20 ){
index = Random.Range (0, green.Length );
objgreen = green[index];
objgreen = Instantiate(objgreen,location.position,location.rotation);
objgreen.AddForce(Vector3(0,0,100));
}
if(whatSpawn > 20 ){
index = Random.Range (0, build.Length);
indexr = Random.Range (0, buildr.Length);
objbuild = build[index];
objbuildr = buildr[indexr];
objbuild = Instantiate(objbuild,spawn1.position,spawn1.rotation);
objbuildr = Instantiate(objbuilds,spawn2.position,spawn2.rotation);
}
if(whatSpawn >= 40){//////dont let whatSpawn go over 40
gren = 0;
}
}
//halt script for 1 second before returning to the start of the process
//set spawning back to false so timer may start again
spawning = false;
}