private void DisableShield()
    {
        shieldSpriteRenderer.enabled = false;
        shieldCollider.enabled       = false;
        isShieldActive = false;

        UtilitiesBroker.CallShieldIsDisabled();
    }
    private void EnableShield()
    {
        shieldSpriteRenderer.enabled = true;
        shieldCollider.enabled       = true;
        isShieldActive = true;

        UtilitiesBroker.CallShieldIsEnabled();
    }
    // Start is called before the first frame update
    void Start()
    {
        DisableShield();

        UtilitiesBroker.CallShieldIsDisabled();

        shieldTimeLeft = shieldDuration;
    }
    public void TakeDamage(int timeDamageValue)
    {
        shieldHp       -= timeDamageValue;
        shieldTimeLeft -= timeDamageValue;

        UtilitiesBroker.CallShieldTookDamage(shieldHp);

        if (shieldHp <= 0)
        {
            UtilitiesBroker.CallShieldIsDepleted();
        }
    }
    private void BatteryLifeDraining()
    {
        flashLightBatteryLife -= Time.deltaTime;

        //Invoke the flashlight is draining event
        UtilitiesBroker.CallFlashlightIsBurning(flashLightBatteryLife);

        if (flashLightBatteryLife <= 0)
        {
            flashLightEnabled = false;
            flashLight.SetActive(false);
            flashLightBatteryLife = 0;

            //Invoke the flashlight is depleted event
            UtilitiesBroker.CallFlashlightIsDepleted();
        }
    }
    private void ShieldTimeBurning()
    {
        if (shieldTimeLeft > 0)
        {
            shieldTimeLeft -= Time.deltaTime;

            UtilitiesBroker.CallShieldIsBurning(shieldTimeLeft);

            shieldAnimator.SetBool("shieldIsFlashing", false);

            if (shieldTimeLeft < shieldDuration * shieldCriticalPercentage)
            {
                //  Debug.Log("Shield critical health!!!");
                shieldAnimator.SetBool("shieldIsFlashing", true);
            }
        }
        else
        {
            //What to do when shield time is depleted
            DisableShield();
            shieldAnimator.SetBool("shieldIsFlashing", false);
            UtilitiesBroker.CallShieldIsDepleted();
        }
    }