예제 #1
0
    //Shows the dialogue from SpeechBubble, called from Fungus
    public void ShowDialogue(SpeechBubbleDisplay character, SpeechBubble speechBubble, Flowchart thisFlowchart)
    {
        //Calls different functions depending on SpeechBubbles BubbleType
        switch (speechBubble.bubbleType)
        {
        case SpeechBubble.BubbleType.CharacterSpeaks:
            StartCoroutine(DisplayBubble(character, speechBubble, thisFlowchart));
            break;

        case SpeechBubble.BubbleType.PlayersChoice:
            DisplayPlayerChoices(character, speechBubble);
            break;

        default:
            break;
        }
    }
예제 #2
0
    //Displays the SpeechBubble according to number of emojis and sets the WaitTime -variable in Fungus to match delayBetweenBubbles
    private IEnumerator DisplayBubble(SpeechBubbleDisplay character, SpeechBubble speechBubble, Flowchart flowchart)
    {
        switch (speechBubble.emojiSprites.Count)
        {
        case 1:
            flowchart.SetFloatVariable("WaitTime", delayBetweenBubbles);
            //character.SetBubbleScale(1);
            yield return(StartCoroutine(character.ShowBubble(speechBubble.bubbleSprites[0].sprite, speechBubble.emojiSprites[0].sprite, 1)));

            break;

        case 2:
            flowchart.SetFloatVariable("WaitTime", delayBetweenBubbles * 2);
            //character.SetBubbleScale(2);
            yield return(StartCoroutine(character.ShowBubble(speechBubble.bubbleSprites[0].sprite, speechBubble.emojiSprites[0].sprite, 1)));

            yield return(new WaitForSeconds(delayBetweenEmojis));

            yield return(StartCoroutine(character.ShowBubble(speechBubble.bubbleSprites[0].sprite, speechBubble.emojiSprites[1].sprite, 2)));

            break;

        case 3:
            flowchart.SetFloatVariable("WaitTime", delayBetweenBubbles * 3);
            //character.SetBubbleScale(3);
            yield return(StartCoroutine(character.ShowBubble(speechBubble.bubbleSprites[0].sprite, speechBubble.emojiSprites[0].sprite, 1)));

            yield return(new WaitForSeconds(delayBetweenEmojis));

            yield return(StartCoroutine(character.ShowBubble(speechBubble.bubbleSprites[0].sprite, speechBubble.emojiSprites[1].sprite, 2)));

            yield return(new WaitForSeconds(delayBetweenEmojis));

            yield return(StartCoroutine(character.ShowBubble(speechBubble.bubbleSprites[0].sprite, speechBubble.emojiSprites[2].sprite, 3)));

            break;

        default:
            break;
        }
    }
예제 #3
0
 //Shows PlayerChoice -speecbubble
 private void DisplayPlayerChoices(SpeechBubbleDisplay character, SpeechBubble speechBubble)
 {
     character.ShowChoices(speechBubble);
 }