예제 #1
0
    private void OnEnable()
    {
        greeting = baseState.greeting;
        specialGreetingPortrait = baseState.specialGreetingPortrait;
        blankState = baseState.blankState;
        //----------SPECIAL LINE SET
        if (lines.Count.Equals(0))
        {
            lines.Clear();
            foreach (DialogueLineSerial sLine in baseState.lines)
            {
                DialogueLineRuntime nLine = new DialogueLineRuntime();
                nLine.line            = sLine.line;
                nLine.responses       = sLine.responses;
                nLine.isHidden        = sLine.isHidden;
                nLine.specialPortrait = sLine.specialPortrait;
                nLine.exitDialogue    = sLine.exitDialogue;
                lines.Add(nLine);
            }
        }
        //------------SPECIAL END LINE SET
        DialogueLineRuntime nEndLine = new DialogueLineRuntime();

        nEndLine.line            = baseState.endDialogueLine.line;
        nEndLine.responses       = baseState.endDialogueLine.responses;
        nEndLine.isHidden        = baseState.endDialogueLine.isHidden;
        nEndLine.specialPortrait = baseState.endDialogueLine.specialPortrait;
        nEndLine.exitDialogue    = baseState.endDialogueLine.exitDialogue;
        endDialogueLine          = nEndLine;
    }
    public void CloseDialogue()
    {
        DialogueLineRuntime endLine = null;

        endLine = activeNPCDialogue.activeDialogueState.endDialogueLine;
        if (endLine != null && !closingDialogue && !isNPCSpeaking)
        {
            NPCSpeak(endLine.responses);
            closingDialogue = true;
            StartCoroutine(EndConversation(1f));
        }
        else
        {
            return;
        }
    }