예제 #1
0
    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());
    }
예제 #2
0
    public GameObject SpawnRocket(RocketSpawnPoint point)
    {
        GameObject spawnedRocket = Instantiate(rocket, point.transform.position, point.transform.rotation);

        return(spawnedRocket);
    }