public void HitBlock()
    {
        DestroyAllTouchingBlocks();
        CameraShaker.Instance.Shake();
        GameObject paritcleGO = Instantiate(OnHitParticleEffect, transform.position, Quaternion.identity);

        Destroy(paritcleGO, paritcleGO.GetComponent <ParticleSystem>().main.duration + 0.1f);
        Collider[] colls = Physics.OverlapSphere(transform.position, GameManager.Instance.GetGameSettings().BlockExplosionRadius);
        foreach (var item in colls)
        {
            BlockController controller = item.GetComponent <BlockController>();
            if (!controller)
            {
                continue;
            }
            controller.AddExplosion(transform.position);
        }
        DestroyBlock();
    }