コード例 #1
0
    //!Przygotowuje do wyświetlania obecnej kwestii dialogowej.
    private void displayNextDialog()
    {
        if (currentNode == null)
        {
            return;
        }
        dialogLine.text  = "";
        currentCharacter = Resources.Load <CharacterData>("Dialogs/Character_data/" + currentNode.Speaker);
        if (currentCharacter)
        {
            speaker.text     = currentCharacter.Name;
            icon.sprite      = currentCharacter.Icon;
            dialogLine.color = currentCharacter.TextColor;
        }
        StartCoroutine("typeText");

        if (currentNode.IsEnding) //Wszczyna sekwencję zakończenia jeżeli dialog ma ustawiona odpowiednią flagę.
        {
            saveDataController.loadEnding();
        }
        else if (currentNode.IsLeaf) //Przygotowuje do zakończenia dialogu.
        {
            choiceButtons[0].gameObject.SetActive(true);
            choiceButtons[0].GetComponentInChildren <Text>().text = currentNode.ExitLine;
            choiceButtons[0].onClick.RemoveAllListeners();
            choiceButtons[0].onClick.AddListener(endConversation);
            return;
        }
        else //Domyślny przypadek, zakłada dalszą kontynuację dialogu.
        {
            for (int i = 0; i < currentNode.OutputPorts.Count; i++)
            {
                choiceButtons[i].gameObject.SetActive(true);
                choiceButtons[i].GetComponentInChildren <Text>().text = currentNode.OutputPorts[i].PortName;
            }
        }
    }