Пример #1
0
    void OnCollisionEnter(Collision collision)
    {
        Collider   collider = collision.collider;
        PlayerBase pb       = playerBase.gameObject.GetComponent <PlayerBase>();

        if (live)
        {
            if (collider.CompareTag("Invader") || collider.CompareTag("MysteryInvader"))
            {
                Invader invader = collider.gameObject.GetComponent <Invader>();
                if (invader.live)
                {
                    invader.Die();
                }
            }
            else if (collider.CompareTag("InvaderMissile"))
            {
                InvaderMissile i_missile = collider.gameObject.GetComponent <InvaderMissile>();
                // The invader missile's collision function will handle its own death
            }
            else if (collider.CompareTag("BaseShield"))
            {
                Destroy(collider.gameObject);
            }
            if (!isBeam)
            {
                live = false;
                gameObject.GetComponent <Renderer>().material.color = new Color(0.2f, 0, 0);
            }
        }
    }
Пример #2
0
    public void InvaderShot(Collider collider)
    {
        score += (collider.gameObject.GetComponent <Invader>().numMoveDown + 1) * defaultScoreInvader;
        Invader invader = collider.gameObject.GetComponent <Invader>();

        GenerateExplodeParticles(invader.transform.position, ObjectType.InvaderObj);
        invader.Die();
        invadersRemaining--;
        UpdateUI();
        if (invadersRemaining == 0)
        {
            hasWon = true;
            SceneManager.LoadScene(sceneName: "GameOverScene");
        }
        else if (invadersRemaining == invadersLeftTriggerBoss)
        {
            Invader[] invaders = FindObjectsOfType <Invader>();
            for (int i = 0; i < invaders.Length; i++)
            {
                invaders[i].Pause();
            }
            TriggerBoss();
        }
    }
Пример #3
0
    private void OnCollisionEnter(Collision collision)
    {
        Collider collider = collision.collider;

        if (collider.CompareTag("Invader"))
        {
            Invader invader = collider.GetComponent <Invader>();
            AudioSource.PlayClipAtPoint(explosion, invader.transform.position);
            invader.Die();
        }

        if (collider.CompareTag("Alien"))
        {
            Alien alien = collider.GetComponent <Alien>();
            alien.Die();
        }

        if (collider.CompareTag("Defense"))
        {
            DefenseBlock block = collider.GetComponent <DefenseBlock>();
            Destroy(block.gameObject);
        }
        Destroy(gameObject);
    }