public override bool UpdateEvent() { //Debug.Log("update RocketRainEvent"); for (int i = 0; i < spawnPoints.Count; ++i) { if (!spawnPoints[i].incoming && spawnPoints[i].delay <= 4f) { spawnPoints[i].random = (int)Math.Round(UnityEngine.Random.Range(-30.0f, 30.0f)); //Vector3 instantiatePos = spawnPoints [i].transform.position; Quaternion instantiateRot = Quaternion.Euler(-90, 0, 0); Vector3 pos = spawnPoints[i].transform.position; pos.x += spawnPoints[i].random; GameObject incoming = Instantiate(rocketIncoming, pos, instantiateRot); if (incoming != null) { incomings.Add(incoming); spawnPoints[i].incoming = true; spawnPoints[i].incomingObject = incoming; } } if (spawnPoints[i].delay <= 0f && !spawnPoints[i].done) { RocketSpawnPoint aux = spawnPoints[i]; aux.transform.position = new Vector3(aux.transform.position.x + spawnPoints[i].random, aux.transform.position.y, aux.transform.position.z); manager.SpawnRocket(spawnPoints[i]); spawnPoints[i].done = true; spawnPoints[i].delay = spawnPoints[i].initialDelay; if (spawnPoints[i].incoming && spawnPoints[i].incomingObject != null) { incomings.Remove(spawnPoints[i].incomingObject); Destroy(spawnPoints[i].incomingObject); } //Destroy(spawnPoints[i]); //spawnPoints.RemoveAt(i); } if (spawnPoints[i].delay > 0f) { spawnPoints[i].delay -= Time.deltaTime; } } //if (incomings.Count == 0) Debug.Log("ESTOY VACIO"); return(base.UpdateEvent()); }
public GameObject SpawnRocket(RocketSpawnPoint point) { GameObject spawnedRocket = Instantiate(rocket, point.transform.position, point.transform.rotation); return(spawnedRocket); }