示例#1
0
    private void NodeActions(DialogueNode node)
    {
        if (node.Text.Length > 0)
        {
            npcSpeechBubble.SetActive(true);
        }
        else
        {
            npcSpeechBubble.SetActive(false);
        }
        npcText.GetComponent <Text>().text = "";
        displayTextCoroutine = DisplayText(node, npcText);
        StartCoroutine(displayTextCoroutine);

        npcThoughtsBubble.SetActive(false);
        if (node.Thoughts.Length > 0)
        {
            npcThoughtsText.GetComponent <Text>().text = node.Thoughts;
            npcThoughtsBubble.SetActive(true);
        }

        if (node.NodeID == 0)
        {
            CheckForDistractingItems();
        }

        if (node.ScaleValue != 0)
        {
            NPCData.AddToComfortValue(node.ScaleValue);
        }

        if (node.Info.Length > 0)
        {
            string[] infoIds = node.Info.Split(',');
            foreach (Info info in feedbackData.info)
            {
                if (Array.IndexOf(infoIds, info.id) > -1 && !PlayerData.info.Contains(info))
                {
                    PlayerData.info.Add(info);
                }
            }
        }
    }