private NodeEditor CreateDialogueNode(string nodeName) { var dialogueNode = new NodeEditor { title = nodeName, dialogueText = nodeName, guiID = Guid.NewGuid().ToString() }; var inputPort = GeneratePort(dialogueNode, Direction.Input, Port.Capacity.Multi); inputPort.portName = "Input"; dialogueNode.inputContainer.Add(inputPort); var button = new Button(clickEvent: () => { AddChoicePort(dialogueNode); }); button.text = "New Choice"; dialogueNode.titleContainer.Add(button); dialogueNode.RefreshExpandedState(); dialogueNode.RefreshPorts(); dialogueNode.SetPosition(new Rect(position: Vector2.zero, deafultSize)); return(dialogueNode); }
private void AddChoicePort(NodeEditor nodeEditor) { var generatedPort = GeneratePort(nodeEditor, Direction.Output); var outputPortCount = nodeEditor.outputContainer.Query(name: "connector").ToList().Count; generatedPort.portName = $"Choice {outputPortCount}"; nodeEditor.outputContainer.Add(generatedPort); nodeEditor.RefreshPorts(); nodeEditor.RefreshExpandedState(); }
private NodeEditor GenerateEntryPointNode() { var node = new NodeEditor { title = "Start", guiID = Guid.NewGuid().ToString(), dialogueText = "Entrypoint", entryPoint = true }; var generatedPort = GeneratePort(node, Direction.Output); generatedPort.portName = "Next"; node.outputContainer.Add(generatedPort); node.RefreshExpandedState(); node.RefreshPorts(); node.SetPosition(new Rect(x: 100, y: 200, width: 100, height: 150)); return(node); }