Exemplo n.º 1
0
    private IEnumerator DroidDrop()
    {
        droppingDroids = true;
        canShoot       = false;
        animator.StartDropAnimation();
        weakPoint.SetActive(true);

        yield return(new WaitForSeconds(4f));

        animator.CreateDroids();
        StartCoroutine(SetCanShootAfter(true, 1.2f));

        for (int i = 0; i < numberOfDroidsToSpawn; i++)
        {
            SwarmController droid = PoolManager.instance.ReuseObject(droidPrefab, weakPoint.transform.position, Quaternion.identity).GetComponent <SwarmController> ();
            droid.Activate();
            droid.startingHealth = 2.5f;
            droid.SetDefaults();
            yield return(new WaitForSeconds(0.15f));
        }

        yield return(new WaitForSeconds(1.2f - (0.15f * numberOfDroidsToSpawn)));

        weakPoint.SetActive(false);
        nextDropTime   = Time.time + msBeforeDroidDrop / 1000f;
        droppingDroids = false;
    }