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); } } }
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(); } }
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); }