private void TryBurn( )
    {
        if (!isBurning)
        {
            return;
        }

        RaycastHit2D[] hits = Physics2D.CircleCastAll(transform.position, burnRadius, Vector2.zero, 0f);
        foreach (var hit in hits)
        {
            Flammable other = hit.transform.gameObject.GetComponent <Flammable>( );
            if (other && Random.Range(0f, 1f) <= burnChance)
            {
                other.Set(damage);
            }
        }

        Invoke(nameof(TryBurn), tryBurnTick);
    }