Пример #1
0
        private void RunNode(EndNodeData nodeData) // Running end node
        {
            switch (nodeData.EndNodeType)          // Different behaviour based on end node type
            {
            case EndNodeType.End:
                dialogueController.ShowDialogueUI(false);     // Ending the dialogue, hiding UI
                break;

            case EndNodeType.Repeat:
                CheckNodeType(GetNodeByGuid(currentDialogueNodeData.NodeGuid));     // Repeating current dialogue node
                break;

            case EndNodeType.Goback:
                CheckNodeType(GetNodeByGuid(lastDialogueNodeData.NodeGuid));        // Repeating last dialogue node
                break;

            case EndNodeType.RetrunToStart:
                CheckNodeType(GetNextNode(currentDialogue.StartNodeDatas[0]));      // Starting from the beginning
                break;

            default:
                throw new IndexOutOfRangeException();
            }
            EndDialogue();
        }
Пример #2
0
    private EndNodeData SaveNodeData(EndNode _node)
    {
        EndNodeData nodeData = new EndNodeData()
        {
            NodeGuid    = _node.NodeGuid,
            Position    = _node.GetPosition().position,
            EndNodeType = _node.EndNodeType
        };

        return(nodeData);
    }
Пример #3
0
    private void RunNode(EndNodeData _nodeData)
    {
        switch (_nodeData.EndNodeType)
        {
        case EndNodeType.End:
            dialogueController.ShowDialogueUI(false);
            break;

        case EndNodeType.Repeat:
            CheckNodeType(GetNodeByGuid(currentDialogueNodeData.NodeGuid));
            break;

        case EndNodeType.GoBack:
            CheckNodeType(GetNodeByGuid(lastDialogueNodeData.NodeGuid));
            break;

        case EndNodeType.ReturnToStart:
            CheckNodeType(GetNextNode(dialogueContainer.StartNodeData[0]));
            break;

        default:
            break;
        }
    }