Exemplo n.º 1
0
    private void Update()
    {
        if (manager.gameHasStarted)
        {
            if (!_fueling)
            {
                _currentFuel -= _decayRate * Time.deltaTime;
                _audio.mute   = true;
            }
            else
            {
                _currentFuel += _fillRate * Time.deltaTime;
                _audio.mute   = false;
            }
            _currentFuel = Mathf.Clamp(_currentFuel, 0, 100);

            var normalFuel = _currentFuel / 100;
            if (_uiSlider != null)
            {
                _uiSlider.fillAmount = Mathf.Clamp(normalFuel, 0, 1);
            }

            manager.UpdateBoatProgress(normalFuel);
        }

        if (_currentFuel <= 0)
        {
            _boatAnim.SetInteger("engineState", 1);
        }
        else
        {
            _boatAnim.SetInteger("engineState", 0);
        }


        if (_uiSlider.fillAmount <= 0.19)
        {
            _uiSlider.color = _fillColourChange[2];
        }
        else if (_uiSlider.fillAmount >= 0.20 && _uiSlider.fillAmount <= 0.39)
        {
            _uiSlider.color = _fillColourChange[1];
        }
        else if (_uiSlider.fillAmount >= 0.40)
        {
            _uiSlider.color = _fillColourChange[0];
        }
    }