示例#1
0
    public IContestSentence GoToNextSentence(IContestDisplay display)
    {
        int option = display.GetLastAnswer();

        contest.AddAnswer(solutions[option]);
        if (dontShow)
        {
            display.SetColorButton(option, ButtonState.Selected);
        }
        else
        {
            display.SetColorButton(option, solutions[option]? ButtonState.Correct : ButtonState.Fail);
        }
        display.DisableButtons();

        if (!dontShow)
        {
            if (solutions[option])
            {
                display.PlayWin();
            }
            else
            {
                display.PlayFail();
            }
        }

        return(nexts == null? null : nexts[option]);
    }
    public void ShowIn(IContestDisplay display)
    {
        effects = display.GetCharacter().GetComponent <ContestEffects>();
        ContestEffects.Action action = effects.Get(effectName);
        switch (action.mode)
        {
        case ContestEffects.Action.Mode.PlayAnimation:
        case ContestEffects.Action.Mode.PlayAnimationUntilEnd:
            var anim = effects.GetComponent <Animation>();
            if (action.parameter != "")
            {
                anim.clip = anim.GetClip(action.parameter);
            }
            anim.Play();
            break;

        case ContestEffects.Action.Mode.StopAnimation:
            effects.GetComponent <Animation>().Stop();
            break;

        case ContestEffects.Action.Mode.PlaySound:
            var audio = effects.GetComponent <AudioSource>();
            if (action.parameter != "")
            {
                audio.clip = effects.GetSound(action.parameter);
            }
            audio.Play();
            break;

        case ContestEffects.Action.Mode.StopSound:
            effects.GetComponent <AudioSource>().Stop();
            break;

        case ContestEffects.Action.Mode.PlayParticules:
            effects.GetComponent <ParticleSystem>().Play();
            break;

        case ContestEffects.Action.Mode.StopParticules:
            effects.GetComponent <ParticleSystem>().Stop();
            break;

        case ContestEffects.Action.Mode.ChangeSprite:
            effects.GetComponent <SpriteRenderer>().sprite = effects.GetSprite(action.parameter);
            break;
        }

        if (action.autoGoNext)
        {
            display.MoveNext();
        }
    }
示例#3
0
 public void ShowIn(IContestDisplay display)
 {
     display.Write(sentence);
 }
示例#4
0
 public IContestSentence GoToNextSentence(IContestDisplay display)
 {
     return(next);
 }
示例#5
0
 public void ShowIn(IContestDisplay display)
 {
     onShowIn(this, display);
 }
示例#6
0
 public IContestSentence GoToNextSentence(IContestDisplay display)
 {
     return(onGoNext(this, display));
 }
示例#7
0
 public void ShowIn(IContestDisplay display)
 {
     display.ShowButtons(answers);
     display.Write(question);
 }
示例#8
0
 public void ShowIn(IContestDisplay display)
 {
     display.HideButtons();
     display.MoveNext();
 }