private void OnCollisionEnter2D(Collision2D collisionInfo) { int layer = collisionInfo.gameObject.layer; if (((1 << layer) & whatIsTarget) > 0) { Collider2D[] cols = Physics2D.OverlapCircleAll(transform.position, expRadius, 1 << crateLayer); if (cols.Length >= 1) { foreach (Collider2D item in cols) { CrateScript cs = item.gameObject.GetComponent <CrateScript>(); if (cs != null) { cs.AddExplosion(transform.position, expPower); } } } Boom(); } }