コード例 #1
0
ファイル: WorkoutProgress.cs プロジェクト: efsjouw/D-Sports
 private void setCurrentExercise(ExerciseDataItem exercise, int timeOrReps)
 {
     setState(State.InProgress);
     currentExercise   = exercise;
     exerciseText.text = currentExercise.name.ToUpper();
     playExerciseTextAnimation();
     setTimeText(timeOrReps);
 }
コード例 #2
0
ファイル: WorkoutProgress.cs プロジェクト: efsjouw/D-Sports
 private void setCurrentExercise(string name, int time)
 {
     setState(State.InProgress);
     currentExercise   = null;
     exerciseText.text = name.ToUpper();
     playExerciseTextAnimation();
     setTimeText(time);
 }
コード例 #3
0
    public override void init(ListViewDataItem data)
    {
        this.data    = (ExerciseDataItem)data;
        nameTmp.text = this.data.name;

        string searchQuery     = this.data.name + " exercise";
        string imagesParameter = "&iax=images&ia=images";

        linkButton.appendToURL(searchQuery + imagesParameter);
    }
コード例 #4
0
ファイル: WorkoutProgress.cs プロジェクト: efsjouw/D-Sports
    private void setFinishedState()
    {
        //Vars
        currentSet      = 0;
        exerciseCount   = 0;
        currentExercise = null;

        //Images
        backgroundColor      = finishedColor;
        nextBackground.color = new Color(0, 0, 0, 0);

        //Text
        exerciseText.text = "Finished!";
        timerText.setText("");

        //Buttons
        repeatButton.gameObject.SetActive(true);
        repeatButton.interactable      = true;
        nextButton.interactable        = false;
        infoButton.button.interactable = false;
        playButton.interactable        = false;
        pauseButton.interactable       = false;
    }
コード例 #5
0
 public override void init(ListViewDataItem data)
 {
     this.data    = (ExerciseDataItem)data;
     nameTmp.text = this.data.name;
 }
コード例 #6
0
ファイル: WorkoutProgress.cs プロジェクト: efsjouw/D-Sports
    private IEnumerator workoutRoutine()
    {
        //If no exercises selected get rounds per set value
        bool noExercisesSelected = currentWorkout.roundsPerSet > 0 && currentWorkout.exercises.Count == 0;
        int  exerciseTotal       = noExercisesSelected ? currentWorkout.roundsPerSet :  currentWorkout.exercises.Count;

        totalWorkoutTime   = currentWorkout.getTotalWorkoutTimeInSeconds(exerciseTotal);
        workouteTimePassed = 0;

        for (currentSet = 0; currentSet < currentWorkout.globalSets; currentSet++)
        {
            pauseButton.interactable = false;
            setText.text             = (currentSet + 1).ToString() + " / " + currentWorkout.globalSets;
            if (currentSet > 1)
            {
                playSetTextAnimation();
            }

            bool isSetRest = currentSet > 0; //Reset between sets if we passed set 0

            for (exerciseCount = 0; exerciseCount < exerciseTotal; exerciseCount++)
            {
                //Null and default if no exercises selected
                KeyValuePair <string, ExerciseDataItem> pair = noExercisesSelected ? default : _exerciseList[exerciseCount];
                                                               ExerciseDataItem exerciseData = noExercisesSelected ? null : pair.Value;

                                                               if (isSetRest || isExerciseRest(exerciseTotal))
                                                               {
                                                                   int restSeconds = currentWorkout.globalRestTime;
                                                                   setRest(restSeconds);

                                                                   //Show next exercise for modes Selection and Random
                                                                   if (currentWorkout.exerciseMode != WorkoutPanel.ExerciseMode.Rounds)
                                                                   {
                                                                       //Be sure to set theNextExercise before calling showNextExercise
                                                                       switch (currentWorkout.exerciseMode)
                                                                       {
                                                                       case WorkoutPanel.ExerciseMode.Random: currentExercise = getRandomExercise(); break;

                                                                       case WorkoutPanel.ExerciseMode.Selection: currentExercise = exerciseData; break;
                                                                       }
                                                                       showNextExercise();
                                                                   }

                                                                   while (restSeconds > 0)
                                                                   {
                                                                       if (!pauseButton.interactable)
                                                                       {
                                                                           pauseButton.interactable = true;
                                                                       }
                                                                       if (restSeconds <= 3)
                                                                       {
                                                                           playTimeTextAnimation();
                                                                           secondBeep.Play();
                                                                       }

                                                                       timerText.setTimeText(restSeconds);
                                                                       float second = 0;
                                                                       while (second < 1)
                                                                       {
                                                                           yield return(new WaitForSecondsRealtime(0.1f));

                                                                           second += 0.1f;
                                                                           if (paused)
                                                                           {
                                                                               setState(State.Paused);
                                                                               yield return(new WaitUntil(() => !paused));
                                                                           }
                                                                       }

                                                                       workouteTimePassed++;
                                                                       restSeconds--;
                                                                       progressBar.setProgress(workouteTimePassed / totalWorkoutTime);
                                                                   }
                                                               }

                                                               int workoutSeconds = currentWorkout.globalWorkTime;

                                                               //Set exercise based on workout exercise mode
                                                               switch (currentWorkout.exerciseMode)
                                                               {
                                                               //Use currentExercise after rest otherwise use exerciseData for the first time
                                                               case WorkoutPanel.ExerciseMode.Random:      setCurrentExercise(currentExercise ?? getRandomExercise(), workoutSeconds); break;

                                                               case WorkoutPanel.ExerciseMode.Rounds:      setCurrentExercise("Work", workoutSeconds); break;

                                                               case WorkoutPanel.ExerciseMode.Selection:   setCurrentExercise(currentExercise ?? exerciseData, workoutSeconds); break;
                                                               }

                                                               roundBeep.Play();
                                                               yield return(new WaitForSecondsRealtime(roundBeep.clip.length));

                                                               while (workoutSeconds > 0)
                                                               {
                                                                   if (!pauseButton.interactable)
                                                                   {
                                                                       pauseButton.interactable = true;
                                                                   }
                                                                   if (workoutSeconds <= 3)
                                                                   {
                                                                       playTimeTextAnimation();
                                                                       secondBeep.Play();
                                                                   }

                                                                   timerText.setTimeText(workoutSeconds);
                                                                   float second = 0;
                                                                   while (second < 1)
                                                                   {
                                                                       yield return(new WaitForSecondsRealtime(0.1f));

                                                                       second += 0.1f;
                                                                       if (paused)
                                                                       {
                                                                           setState(State.Paused);
                                                                           yield return(new WaitUntil(() => !paused));
                                                                       }
                                                                   }

                                                                   workouteTimePassed++;
                                                                   workoutSeconds--;
                                                                   progressBar.setProgress(workouteTimePassed / totalWorkoutTime);
                                                               }

                                                               roundBeep.Play();
            }
        }

        setState(State.Finished);
    }