private void OnCollisionEnter2D(Collision2D other) { if (!other.enabled) { return; } if (KillEnemy && other.gameObject.CompareTag("Enemy")) { Explode(); KillInteractable killInteractable = other.gameObject.GetComponent <KillInteractable>(); if (killInteractable != null) { killInteractable.Explode(); } else { Destroy(other.gameObject); } } else if (KillPlayer && other.gameObject.CompareTag("Player")) { Explode(); PlayerControls player = other.gameObject.GetComponent <PlayerControls>(); if (player != null) { player.Explode(); } } else if (DieFromPlanet && other.gameObject.CompareTag("Planet")) { Explode(); if (DamagePlanet) { GameData.Instance.Expirience += 1; } } }
private void OnCollisionEnter2D(Collision2D collision) { if (!collision.enabled) { return; } if (collision.gameObject.CompareTag("Enemy")) { KillInteractable killInteractable = collision.gameObject.GetComponent <KillInteractable>(); if (killInteractable == null) { return; } if (killInteractable.CoinReward > 0) { GameData.Instance.Coins += killInteractable.CoinReward; SpawnLabel(collision.contacts[0].point, killInteractable.CoinReward); killInteractable.CoinReward = 0; // To avoid double rewarding } } }