private void SetLevel(int next) { levelUpReadyTracker.No(); accuracyTracker.Clear(); ScoreMachine.Put(LEVEL_RESET_SCORE); Level.Value = next; OnClearBubbles?.Invoke(); }
void ResetScores() { Level.Value = 1; levelUpReadyTracker.No(); accuracyTracker.Clear(); highestScore.Value = 0; ScoreMachine.Put(INITIAL_SCORE); Level.Value = 0; OnClearBubbles?.Invoke(); }
private void UpdateScore() { accuracyTracker.Crop(Time.time); if (accuracyTracker.TryGetAverage(out var accuracy)) { ScoreMachine.Push(accuracy, Time.deltaTime); } if (ScoreMachine.Score.Value < levelRegressAt) { LevelDown(); } if (ScoreMachine.Score.Value >= 0.8f) { levelUpReadyTracker.Yes(Time.time); } else { levelUpReadyTracker.No(); } }