private void OnTriggerEnter2D(Collider2D collider) { if (!_collidedWithSmth) { var hpScript = collider.gameObject.GetComponent <HPScript>(); if (hpScript == null) { hpScript = collider.gameObject.GetComponentInParent <HPScript>(); } if (hpScript != null && _dartGun.IsAChild(hpScript)) { return; } else if (hpScript != null) { if (hpScript != null) { HandleHpScript(hpScript); } } else { var ground = collider.gameObject.GetComponent <Ground>(); //var explosion = collider.gameObject.GetComponent<ExplosiveObjectDamagableCollider>(); if ((ground == null || !ground.IsPassThrough) && collider.gameObject.name != "ExplosionColliders") { CollideWithIt(); } } } }