コード例 #1
0
 public void FillExperienceBar(ExperienceViewModel newExperienceViewModel)
 {
     _acumulatedTime         = 0;
     _newExperienceViewModel = newExperienceViewModel;
     if (!HasGainedALevel(newExperienceViewModel))
     {
         _fillBarMethod = FillBarMethod.RiseCurrentLevel;
     }
     else
     {
         _fillBarMethod = FillBarMethod.CompleteCurrentLevel;
     }
 }
コード例 #2
0
        private void RiseExperienceBarCurrentLevel()
        {
            _experienceBar.value = Mathf.Lerp(
                (float)_currentExperienceViewModel.CurrentExperience / _currentExperienceViewModel.NextLevelRequirement,
                (float)_newExperienceViewModel.CurrentExperience / _newExperienceViewModel.NextLevelRequirement,
                _acumulatedTime);

            if (HasReachedDesiredValue())
            {
                _currentExperienceViewModel = _newExperienceViewModel;
                _fillBarMethod = FillBarMethod.None;
            }
        }
コード例 #3
0
 private void RiseExperienceBarToCompleteCurrentLevel()
 {
     _experienceBar.value = Mathf.Lerp(
         (float)_currentExperienceViewModel.CurrentExperience / _currentExperienceViewModel.NextLevelRequirement,
         1,
         _acumulatedTime * 2);
     if (HasReachedMaxValue())
     {
         _level.IncreaseLevel();
         _acumulatedTime             = 0;
         _currentExperienceViewModel = new ExperienceViewModel(0,
                                                               _newExperienceViewModel.NextLevelRequirement, _newExperienceViewModel.CurrentLevel,
                                                               _newExperienceViewModel.EnemiesUnlocked);
         _fillBarMethod = FillBarMethod.RiseCurrentLevel;
     }
 }