Beispiel #1
0
    void EndMadlib(float finalGrade)
    {
        Sequence seq = DOTween.Sequence();

        Debug.Log(finalGrade);

        if (finalGrade >= -1.0f)
        {
            if (finalGrade <= 2.0f)
            {
                soundSystem.PlaySound("MadlibChoiceMedium");
            }
            else
            {
                soundSystem.PlaySound("MadlibChoiceGood");
                seq.AppendCallback(() => audience.StartPose(2));
                seq.AppendCallback(() => audience2.StartPose(2));
                seq.AppendInterval(4.0f);
                seq.AppendCallback(() => audience.StartResting());
                seq.AppendCallback(() => audience2.StartResting());
            }
        }
        else
        {
            soundSystem.PlaySound("MadlibChoiceBad");
            seq.AppendCallback(() => audience.StartPose(1));
            seq.AppendCallback(() => audience2.StartPose(1));
            seq.AppendInterval(4.0f);
            seq.AppendCallback(() => audience.StartResting());
            seq.AppendCallback(() => audience2.StartResting());
        }
        sweatLevel -= finalGrade;

        ClearCandidateChoices();

        ++promptCounter;
        if (phase == Phase.BeforeDemo && promptCounter >= promptsBeforeDemo)
        {
            // Go to playing the demo (pong)
            TransitionToDemo(seq);
            promptCounter = 0;
            phase         = Phase.DuringDemo;
        }
        else if (phase == Phase.DuringDemo && promptCounter >= promptsAfterDemo)
        {
            seq.AppendCallback(() => {
                if (sweatLevel <= 50)
                {
                    SceneManager.LoadScene("GoodEnding");
                }
                else if (sweatLevel <= 70)
                {
                    SceneManager.LoadScene("BadEnding");
                }
                else
                {
                    SceneManager.LoadScene("WorstEnding");
                }
            });
            promptCounter = 0;
        }
        else
        {
            // Go to new madlib
            seq.AppendCallback(StartNextMadlib);
        }
    }