예제 #1
0
    private void EndTalk()
    {
        if (storyScript)
        {
            if (!notFinished)
            {
                storyScript.AddLocalFlag(executeFunction);
            }

            storyScript.talkCount++;
            if (storyScript.talkCount == 1)
            {
                StoryManager.Instance.StartStory(storyScript);
            }

            storyScript.ProcessFunctionHeaderTags();
        }

        NPCManager.Instance.RefreshTalk();

        // 添加一个空行作区隔
        LogPanel.Instance.AddLog(" ", false);

        if (speaker)
        {
            speaker.EndTalkMode();
        }

        // 销毁对话面板
        UIManager.Instance.CloseTalk(gameObject);

        // 如果任务结束,销毁整个任务
        if (storyScript && storyScript.endStory)
        {
            StoryManager.Instance.EndStory(storyScript);
        }
    }