示例#1
0
    private void Update()
    {
        if (LevelController.isDialogueOpen)
        {
            if (justOpened)
            {
                NextDialogueText();
                currentDialogue = dialogueData.GetSpeakerDialogue(level - 1, speakerName, dialogueNumber - 1);
                justOpened      = false;
            }

            if (Input.GetKeyDown(KeyCode.Space))
            {
                if (isDialogueAnimating)
                {
                    SkipToEndOfDialogue();
                    return;
                }

                if (!NextDialogueText())
                {
                    if (NextDialogueSpeaker())
                    {
                        NextDialogueText();
                    }
                    else
                    {
                        justOpened = true;
                        LevelController.HideDialogue();
                    }
                }
            }
        }
    }
示例#2
0
    public bool NextDialogueSpeaker()
    {
        string newSpeaker = dialogueData.GetNextSpeaker(currentDialogue);

        if (newSpeaker != null)
        {
            ChangeDialogueSpeaker(currentDialogue.nextDialogueSpeaker);
            ChangeDialogueText(currentDialogue.nextDialogueNumber, 0);
            currentDialogue = dialogueData.GetSpeakerDialogue(level - 1, speakerName, dialogueNumber - 1);

            return(true);
        }

        return(false);
    }
示例#3
0
    public bool NextDialogue()
    {
        DialogueContainer.NewDialogue nextDialogue = dialogueData.GetSpeakerDialogue(level - 1, speakerName, ++dialogueNumber - 1);

        // Next dialogue exist
        if (nextDialogue != null)
        {
            currentDialogue = nextDialogue;

            textNumber = 0;
            return(true);
        }
        else
        {
            --dialogueNumber;
        }

        return(false);
    }