} // apply collision logic with bullet IEnumerator Death() { ScoreManager.score += points; shake.CameraShake(); deathAnimating = true; transform.gameObject.tag = "DyingEnemy"; animator.SetBool("isAlive", false); AudioSource.PlayClipAtPoint(deathSound.clip, transform.position.normalized, 1.0f); yield return(new WaitForSeconds(2)); Destroy(gameObject); }
private IEnumerator Death() { if (laser != null) { Destroy(laser); } camshake.CameraShake(0.2f, 3f); float explosionTimer; float startTime = Time.time; do { explosionTimer = Time.time - startTime; float randomX = Random.Range(transform.position.x - 1, transform.position.x + 1); float randomY = Random.Range(transform.position.y - 3, transform.position.y + 3); Vector3 randomPos = new Vector3(randomX, randomY, -1); GameObject newExplosion = Instantiate(smallExplosion, randomPos, Quaternion.identity); Destroy(newExplosion, 0.6f); AudioSource.PlayClipAtPoint(sexpAudio, randomPos, 1f); yield return(new WaitForSeconds(0.25f)); } while (explosionTimer < 3); Player.instance.StopAllCoroutines(); Player.instance.ToggleMove(false); camshake.CameraShake(1f, 3f); GameObject bigExp = Instantiate(bigExplosion, transform.position, Quaternion.identity); Destroy(bigExp, 6f); AudioSource.PlayClipAtPoint(bexpAudio, Camera.main.transform.position, 1f); yield return(new WaitForSeconds(0.3f)); flashScreen.color = Color.white; flashScreen.CrossFadeAlpha(1, 0.1f, false); yield return(new WaitForSeconds(0.2f)); Destroy(this.gameObject); flashScreen.CrossFadeAlpha(0, 0.5f, false); Game.game.CallEnding(); }
void OnCollisionEnter2D(Collision2D col) { if (counter > 1) { jumpPower = jumpPower + doubleJumpPower; } grounded = true; counter = 0; Instantiate(dustEffect, transform.position, transform.rotation); cam.CameraShake(); }