void OnCollisionEnter2D(Collision2D collision) { bool damagePlayer = false; // Collision with enemy EnemyScript enemy = collision.gameObject.GetComponent <EnemyScript>(); if (enemy) { // Kill the enemy HealthScript enemyHealth = enemy.GetComponent <HealthScript>(); if (enemyHealth) { enemyHealth.Damage(enemyHealth.hp); } //make explosion enemyHealth.ExplosionAnimation(explosionPrefab); SoundEffectsHelper.Instance.MakeDamageSound(); damagePlayer = true; } // Damage the player if (damagePlayer) { HealthScript playerHealth = GetComponent <HealthScript>(); if (playerHealth) { playerHealth.Damage(1); } } // Collision with area shot ammo AreaAmmoScript ammo = collision.gameObject.GetComponent <AreaAmmoScript>(); if (ammo) { AreaWeaponScript weapon = GetComponent <AreaWeaponScript>(); if (weapon) { weapon.ammunition += 1; ammoCounter.IncreaseCounter(); } Destroy(ammo.gameObject); } // Collision with time stop TimeStopScript timeStop = collision.gameObject.GetComponent <TimeStopScript>(); if (timeStop) { // disable box collider BoxCollider2D bc = timeStop.gameObject.GetComponent <BoxCollider2D>(); if (bc) { bc.enabled = false; } // disable renderer SpriteRenderer sr = timeStop.gameObject.GetComponent <SpriteRenderer>(); if (sr) { sr.enabled = false; } timeStop.StopTime(); } }