public void OnTriggerEnter2D(Collider2D col) { if (!dead) { if (col.tag == "EnemyBullet0" || col.tag == "EnemyMissile0" || col.tag == "EnemyBullet1" || col.tag == "Explosion") { switch (col.tag) { case "EnemyBullet0": health -= 10.0f; Destroy(col.gameObject); break; case "EnemyBullet1": health -= 20.0f; Destroy(col.gameObject); break; case "EnemyMissile0": health -= 40.0f; GameObject tmp = Instantiate(sideExplosionPrefab, col.transform.position, Quaternion.identity); float direction = col.GetComponent <Bullet> ().direction; tmp.transform.localScale = new Vector3(-Mathf.Abs(tmp.transform.localScale.x) * direction / Mathf.Abs(direction), tmp.transform.localScale.y, tmp.transform.localScale.z); Destroy(col.gameObject); break; case "Explosion": health -= 60.0f; break; } if (health > 0) { TakeDamage(); if (col.tag.Contains("Bullet")) { canvas.sounds [UnityEngine.Random.Range(1, 4)].Play(); } else { canvas.sounds [4].Play(); } } else { dead = true; CanvasScript canvas = FindObjectOfType <CanvasScript> (); Instantiate(explosionPrefab, transform.position, Quaternion.identity); if (canvas.score > canvas.highestScore) { PlayerPrefs.SetInt("HighestScore", canvas.score); } canvas.RequestReloadLevel(); Destroy(gameObject); } } if (col.tag == "RepairItem") { Destroy(col.gameObject); numberOfRepairItems++; } if (col.tag == "Box") { CanvasScript canvas = FindObjectOfType <CanvasScript> (); int whichAmmo = UnityEngine.Random.Range(1, 3); if (whichAmmo == 1) { numberOfAirMissile++; canvas.airMissileButton.GetComponent <Animator> ().SetTrigger("animate"); } else { numberOfSpecialBullet = 100; int whichSpecialBullet = UnityEngine.Random.Range(1, 4); switch (whichSpecialBullet) { case 1: selectedSpecialBullet = 3; canvas.specialBulletImage.GetComponent <Image> ().sprite = canvas.redBulletSprite; break; case 2: selectedSpecialBullet = 4; canvas.specialBulletImage.GetComponent <Image> ().sprite = canvas.blueBulletSprite; break; case 3: selectedSpecialBullet = 5; canvas.specialBulletImage.GetComponent <Image> ().sprite = canvas.yellowBulletSprite; break; } } Destroy(col.gameObject.transform.parent.gameObject); } } }