Пример #1
0
    private void EnableEnemy(GameObject enemy)
    {
        EnemyTrigger eT = enemy.GetComponentInChildren <EnemyTrigger>();

        eT.active = true;

        Collider2D[] enemyColliders = enemy.GetComponentsInChildren <Collider2D>();
        for (int i = 0; i < enemyColliders.Length; i++)
        {
            enemyColliders[i].enabled = true;
        }

        NeedleAI n = enemy.GetComponent <NeedleAI>();
        WaspAI   w = enemy.GetComponent <WaspAI>();
        BatAI    b = enemy.GetComponent <BatAI>();
        MoleAI   m = enemy.GetComponent <MoleAI>();
        SlugAI   s = enemy.GetComponent <SlugAI>();

        if (n != null)
        {
            n.enabled = true;
        }
        else if (w != null)
        {
            w.enabled = true;
        }
        else if (b != null)
        {
            b.enabled = true;
        }
        else if (m != null)
        {
            m.enabled = true;
        }
        else if (s != null)
        {
            s.enabled = true;
        }
        else
        {
            Debug.LogWarning(enemy + " is no enemy");
        }
    }
Пример #2
0
    protected override IEnumerator Death()
    {
        //Upcast to slug ai
        SlugAI slug = (SlugAI)ai;

        slug.animator.SetTrigger("death");
        //slug.attackSphere.gameObject.SetActive(false);
        slug.state = SlugAI.State.dead;
        slug.StopAllCoroutines();
        slug.audioSource2D.PlayOneShot(slug.attributes.deathClip);
        yield return(new WaitForSeconds(1f));

        //Play particle effect
        //Play dissappear noise
        mesh.SetActive(false);
        GameObject pickup = Instantiate(slug.attributes.normalDrop, transform.position, Quaternion.identity);

        pickup.GetComponent <Pickup>().MakeTemporary(3f);
        Destroy(transform.parent.gameObject, 5f);
    }