private void OnTriggerEnter2D(Collider2D otherCollider) { if (otherCollider.CompareTag("Enemy")) { otherCollider.gameObject.GetComponent <AlienController>() .ApplyDamage(damageFromCollision); } else if (otherCollider.CompareTag("PickUp")) { var pickUp = otherCollider.gameObject.GetComponentOrThrow <PickUp>(); switch (pickUp.type) { case PickUpType.Health: healthController.Change(pickUp.amount); break; case PickUpType.Energy: energyController.Change(pickUp.amount); break; case PickUpType.Weapon: weaponController.ChangeMissileAmmo(10); break; default: Debug.LogWarning("Unrecognized pick up type"); break; } Destroy(pickUp.gameObject); } }