예제 #1
0
 private void DrawLinkButtons(DialogueNode node)
 {
     if (linkingParentNode == null)
     {
         if (GUILayout.Button("link"))
         {
             linkingParentNode = node;
         }
     }
     else if (linkingParentNode == node)
     {
         if (GUILayout.Button("cancel"))
         {
             linkingParentNode = null;
         }
         ;
     }
     else if (linkingParentNode.Children.Contains(node.name))
     {
         if (GUILayout.Button("unlink"))
         {
             linkingParentNode.RemoveChild(node.name);
             linkingParentNode = null;
         }
     }
     else
     {
         if (GUILayout.Button("child"))
         {
             linkingParentNode.AddChild(node.name);
             linkingParentNode = null;
         }
     }
 }
 private void DrawLinkButtons(DialogueNode node)
 {
     if (linkingParentNode == null)
     {
         if (GUILayout.Button("Link"))
         {
             linkingParentNode = node;
         }
     }
     else if (node == linkingParentNode)
     {
         if (GUILayout.Button("Cancel"))
         {
             linkingParentNode = null;
         }
     }
     else if (linkingParentNode.GetChildren().Contains(node.name))
     {
         if (GUILayout.Button("Unlink"))
         {
             linkingParentNode.RemoveChild(node.name);
             linkingParentNode = null;
         }
     }
     else
     {
         if (GUILayout.Button("Child"))
         {
             linkingParentNode.AddChild(node.name);
             linkingParentNode = null;
         }
     }
 }
 private void DrawLinkButtons(DialogueNode node)
 {
     if (linkingParentNode == null)
     {
         if (GUILayout.Button("link"))
         {
             linkingParentNode = node;
         }
     }
     else if (linkingParentNode == node)
     {
         if (GUILayout.Button("cancel"))
         {
             linkingParentNode = null;
         }
     }
     else if (linkingParentNode.GetChildren().Contains(node.name))
     {
         if (GUILayout.Button("unlink"))
         {
             linkingParentNode.RemoveChild(node.name);
             linkingParentNode = null;
         }
     }
     else
     {
         if (GUILayout.Button("child"))
         {
             Undo.RecordObject(selectedDialogue, "Add Dialogue Link");
             linkingParentNode.AddChild(node.name);
             linkingParentNode = null;
         }
     }
 }
예제 #4
0
 private void DrawLinkButtons(DialogueNode node)
 {
     if (_linkingNode == null)
     {
         if (GUILayout.Button("link"))
         {
             _linkingNode = node;
         }
     }
     else
     {
         if (node == _linkingNode)
         {
             if (GUILayout.Button("finish"))
             {
                 _linkingNode = null;
             }
         }
         else if (_linkingNode.ContainsChild(node.name))
         {
             if (GUILayout.Button("unlink"))
             {
                 _linkingNode.RemoveChild(node.name);
             }
         }
         else
         {
             if (GUILayout.Button("child"))
             {
                 _linkingNode.AddChild(node.name);
             }
         }
     }
 }
 /// <summary>
 ///     Create the node connection buttons
 /// </summary>
 /// <param name="node"> The node to create the links to</param>
 private void addConnectNodeButton(DialogueNode node)
 {
     if (linkMeNode == null)
     {
         if (GUILayout.Button("Link"))
         {
             linkMeNode = node;
             nodeStyle.normal.background = EditorGUIUtility.Load("node1") as Texture2D;
         }
     }
     else if (node == linkMeNode)
     {
         if (GUILayout.Button("Stop"))
         {
             linkMeNode = null;
         }
     }
     else if (linkMeNode.Children.Contains(node.name))
     {
         if (GUILayout.Button("Break"))
         {
             linkMeNode.RemoveChild(node.name);
         }
     }
     else
     {
         if (GUILayout.Button("Child"))
         {
             linkMeNode.AddChild(node.name);
         }
     }
 }
예제 #6
0
    private DialogueNode MakeNode(DialogueNode parentNode)
    {
        DialogueNode createdNode = CreateInstance <DialogueNode>();

        createdNode.name = Guid.NewGuid().ToString();

        if (parentNode != null)
        {
            parentNode.AddChild(createdNode.name);
            createdNode.SetIsPlayerSpeaking(!parentNode.IsPlayerSpeaking);

            createdNode.SetPosition(parentNode.GetRect.position + newNodeOffset);
        }

        return(createdNode);
    }
예제 #7
0
        private void DrawNodeButtons(DialogueNode node)
        {
            GUILayout.BeginHorizontal();

            if (GUILayout.Button("-"))
            {
                removingNode = node;
            }
            if (linkingParentNode == null)
            {
                if (GUILayout.Button("link"))
                {
                    linkingParentNode = node;
                }
            }
            else if (node != linkingParentNode)
            {
                if (!linkingParentNode.GetChildren().Contains(node.name)) // case when we don't have a such child
                {
                    if (GUILayout.Button("child"))
                    {
                        linkingParentNode.AddChild(node.name);
                        linkingParentNode = null;
                    }
                }
                else
                {
                    if (GUILayout.Button("unchild"))
                    {
                        linkingParentNode.RemoveChild(node.name);
                        linkingParentNode = null;
                    }
                }
            }
            else
            {
                if (GUILayout.Button("cancel"))
                {
                    linkingParentNode = null;
                }
            }
            if (GUILayout.Button("+"))
            {
                creatingNode = node;
            }
            GUILayout.EndHorizontal();
        }
예제 #8
0
        private void DrawButtons(DialogueNode node)
        {
            if (GUILayout.Button("+ New Node"))
            {
                creatingNode = node;
            }

            if (linkingNode == null)
            {
                if (GUILayout.Button("Link"))
                {
                    linkingNode = node;
                }
            }
            else if (linkingNode == node)
            {
                if (GUILayout.Button("Cancel"))
                {
                    Undo.RecordObject(currentDialogue, "Cancel Dialogue Link");
                    linkingNode = null;
                }
            }
            else if (linkingNode.GetChildrenNodes().Contains(node.name))
            {
                if (GUILayout.Button("Unlink"))
                {
                    linkingNode.RemoveChild(node.name);
                    linkingNode = null;
                }
            }
            else
            {
                if (GUILayout.Button("Child"))
                {
                    linkingNode.AddChild(node.name);
                    linkingNode = null;
                }
            }

            if (GUILayout.Button("- Remove Node"))
            {
                deletingNode = node;
            }
        }
예제 #9
0
    private DialogueNode MakeNode(DialogueNode parentNode)
    {
        var newNode = CreateInstance <DialogueNode>();

        newNode.name = System.Guid.NewGuid().ToString();

        if (parentNode != null)
        {
            parentNode.AddChild(newNode.name);
            //alternating nodes
            newNode.SetAlternatingActor(parentNode.Speaker);
            newNode.SetPosition(parentNode.Rect.position + newNodeOffset);
        }
        else
        {
            newNode.SetActor(ConversationSpeakerKey.Player1);//default
        }
        return(newNode);
    }
예제 #10
0
        private void DrawLinkButtons(DialogueNode dialogueNode)
        {
            if (_linkingNode == null)
            {
                if (!GUILayout.Button("Lier"))
                {
                    return;
                }

                _linkingNode = dialogueNode;
            }
            else if (_linkingNode == dialogueNode)
            {
                if (!GUILayout.Button("Annuler"))
                {
                    return;
                }

                _linkingNode = null;
            }
            else if (_linkingNode.Children.Contains(dialogueNode.name))
            {
                if (!GUILayout.Button("Délier"))
                {
                    return;
                }

                _linkingNode.RemoveChild(dialogueNode.name);
                _linkingNode = null;
            }
            else
            {
                if (!GUILayout.Button("Enfant"))
                {
                    return;
                }

                _linkingNode.AddChild(dialogueNode.name);
                _linkingNode = null;
            }
        }