Exemple #1
0
        private void GainExp(SliderScript bar, int expValue, ref int nextLevelExpReq, ref int currentBarLevel,
            ref TextMeshProUGUI textMeshProUGUI)
        {
            if (currentBarLevel >= MaxLevel)
                return;

            PlaySpecialSfx(PickupItemAudioClip);

            var barCurrentValue = bar.GetCurrentValue() + expValue;
            if (barCurrentValue >= bar.GetCurrentMaxValue())
            {
                barCurrentValue -= nextLevelExpReq;
                bar.SetValue(barCurrentValue);
                nextLevelExpReq += NextLevelExpReqOffset;
                bar.SetMaxValue(nextLevelExpReq);
                ++currentBarLevel;
                switch (bar.tag)
                {
                    case PlayerExpUiTag:
                        playerLevel.text = currentBarLevel.ToString();
                        _currentMaxHealth += MaxHealth;
                        healthBar.SetMaxValue(_currentMaxHealth);
                        SetBarTextValue(ref playerHpUiValue, _currentHealth.ToString(), _currentMaxHealth.ToString());
                        break;
                    case WepExpUiTag:
                        _weaponDamage += WeaponBaseDamage;
                        break;
                }

                if (currentBarLevel >= MaxLevel)
                {
                    bar.SetValue(bar.GetCurrentMaxValue());
                    SetBarTextValue(ref textMeshProUGUI, MaxExpText, MaxExpText);
                    return;
                }
            }
            else
                bar.SetValue(barCurrentValue);

            SetBarTextValue(ref textMeshProUGUI, barCurrentValue.ToString(), bar.GetCurrentMaxValue().ToString());
        }
Exemple #2
0
        private void Start()
        {
            judahBack.enabled = false;

            if (GameManager.GameManagerInstance != null)
            {
                OnChangeSpecialBgm += GameManager.GameManagerInstance.ChangeToSpecialBgm;
                OnGameEnded += GameManager.GameManagerInstance.GameOver;
            }

            if (PlayerAttack.PlayerAttackInstance != null)
                OnWeaponCollected += PlayerAttack.PlayerAttackInstance.ObtainWeapon;
            _invincibilityAnimator = GameObject.FindGameObjectWithTag("InvincibleStatus").GetComponent<Animator>();
            _weaponDamage = WeaponBaseDamage;
            _isMovingRight = true;
            _extraPlayerLives = 0;
            _playerSpeed = BasePlayerSpeed;
            _playerLevel = 1;
            _weaponLevel = 1;
            _playerLevelUpReq = BaseLevelRequirement;
            _weaponLevelUpReq = BaseLevelRequirement;
            _animatorPlayer = GetComponent<Animator>();
            _audioSource = GetComponents<AudioSource>();
            _jumpCounter = 0;
            _currentMaxHealth = MaxHealth;
            _currentHealth = MaxHealth;
            healthBar.SetMaxValue(_currentHealth);
            healthBar.SetValue(_currentHealth);
            expBar.SetMaxValue(BaseLevelRequirement);
            expBar.SetValue(0);
            wepExpBar.SetMaxValue(BaseLevelRequirement);
            wepExpBar.SetValue(0);
            SetBarTextValue(ref playerHpUiValue, _currentHealth.ToString(), healthBar.GetCurrentMaxValue().ToString());
            _playerLevelUpReq = BaseLevelRequirement;
            _weaponLevelUpReq = BaseLevelRequirement;
        }