Scale a Vector

I check a Vector of an image and like to scale the x value from 0, anytime when i call the function.
But it works only once!?

 public void UpgradePrimaryFire()
        {
            if (currentMainEmitterLevel < mainEmitters.Length-1)
                currentMainEmitterLevel++;
            if (fireRate > 0.1f)
            {                  
                fireRate -= 0.025f;
            }
            if (fireRate <= 0.1f)
            {
                fireRate = 0.025f;
            }
            CheckPrimaryFire();
            UpdateUI();

        }
        //Update PrimaryFire UI
        void CheckPrimaryFire()
        {
            if (fireRate <= 0f)
            {
                if (fireRateBar != null)
                    fireRateBar.transform.parent.gameObject.SetActive(false);


            }
        }
        //Update for primaryFire UI
        void UpdateUI()
        {
            if (fireRateBar != null)
            {
                Vector3 scale = Vector3.one;
                scale.x  +=  0.1f;
                fireRateBar.transform.localScale = scale;
            }
        }

Solved with:

 //HealthBar in UI
        void UpdateUI()
        {
            if (fireRateBar != null)
            {
                Vector3 scale = Vector3.one;
                float value = startFireRate += 0.1f;
                scale.x = value;
                fireRateBar.transform.localScale = scale;
            }
        }