public void Destroy()
 {
     MovementScript.FacadeJumpToTile(-1, -1);
     if (TryGetComponent <BeachBallBehavior>(out var bhav))
     {
         bhav.Destroy();
         return;
     }
     GetComponent <SoundLoader>().Play(2);
     if (gameObject.transform.childCount > 0)
     {
         gameObject.transform.GetChild(0).gameObject.SetActive(false); // make visual component disappear
         OnDestroy();                                                  // unsubscribe from all events to be safe
         GetComponentInChildren <ParticleLoader>()?.Play();
     }
     else
     {
         GameObject.Destroy(gameObject);
     }
 }