Ejemplo n.º 1
0
            public LinkConversationNodeTool(ConversationDataControl conversation, ConversationNodeDataControl father, int nodeType, int index)
            {
                this.father = father;
                ConversationNode childNode = null;

                if (nodeType == DIALOG_NODE)
                {
                    childNode = new DialogueConversationNode();
                }
                else if (nodeType == OPTION_NODE)
                {
                    childNode = new OptionConversationNode();
                }
                else
                {
                    throw new Exception("Not valid node type!");
                }
                var parentRect = this.father.getEditorRect();

                childNode.setEditorX(parentRect.x + parentRect.width + 35);
                childNode.setEditorY(parentRect.y);

                child = this.father.conversation.getNodeDataControl(childNode);

                this.father     = father;
                this.controller = Controller.Instance;
                this.index      = index;
            }
Ejemplo n.º 2
0
 public LinkConversationNodeTool(ConversationDataControl conversation, ConversationNodeDataControl father, ConversationNodeDataControl child, int index)
 {
     this.father     = father;
     this.child      = child;
     this.controller = Controller.Instance;
     this.index      = index;
 }
Ejemplo n.º 3
0
 public ReplaceNodeTool(ConversationDataControl content, ConversationNodeDataControl oldNode, ConversationNodeDataControl newNode)
 {
     this.content  = content;
     this.oldNode  = oldNode;
     this.newNode  = newNode;
     this.subTools = CreateTools();
 }
Ejemplo n.º 4
0
        protected override void DrawInspector()
        {
            EditorWindowBase.WantsMouseMove = true;
            base.DrawInspector();
            var prevWorkingConversation = workingConversation;

            workingConversation = Controller.Instance.ChapterList.getSelectedChapterDataControl()
                                  .getConversationsList().getConversations()[GameRources.GetInstance().selectedConversationIndex];
            if (workingConversation != null && prevWorkingConversation != workingConversation)
            {
                conversationEditor = ConversationEditor.CreateInstance <ConversationEditor>();
                conversationEditor.BeginWindows = () => BeginWindows();
                conversationEditor.EndWindows   = () => EndWindows();
                conversationEditor.Repaint      = () => Repaint();
                conversationEditor.Init(workingConversation);
            }

            EditorGUI.BeginChangeCheck();
            var newId = EditorGUILayout.TextField(TC.get("Conversation.Title"), workingConversation.getId());

            if (EditorGUI.EndChangeCheck())
            {
                workingConversation.getConversation().setId(newId);
            }
        }
 public override ConversationNodeEditor createConversationNodeEditorFor(ConversationDataControl conversation, ConversationNodeDataControl node)
 {
     return(nodeEditors
            .Where(ne => ne.manages(node))
            .Select(ne => ne.clone())
            .FirstOrDefault());
 }
Ejemplo n.º 6
0
            public InsertNodeTool(ConversationDataControl content, ConversationNodeDataControl parent, int nodeType, int index)
            {
                this.content    = content;
                this.isRootNode = parent == null;
                this.parent     = isRootNode ? content.getRootNode() : parent;
                ConversationNode node = null;

                switch (nodeType)
                {
                case DIALOG_NODE: node = new DialogueConversationNode(); break;

                case OPTION_NODE: node = new OptionConversationNode(); break;
                }


                this.index = index;
                var parentRect = isRootNode ? new RectInt(0, 25, 0, 0) : parent.getEditorRect();
                var childRect  = isRootNode ? content.getRootNode().getEditorRect() : parent.getChilds()[index].getEditorRect();

                var center = (parentRect.center + childRect.center) / 2f;

                node.setEditorX((int)(center.x - node.getEditorWidth() / 2f));
                node.setEditorY((int)(center.y - node.getEditorHeight() / 2f));

                this.newNode  = ConversationNodeDataControlFactory.Instance.CreateDataControlFor(content, node);
                this.subTools = CreateTools();
            }
 public LinkConversationNodeTool(ConversationDataControl _dataControl, ConversationNodeView _fatherView,
                                 ConversationNodeView _childView)
 {
     this.fatherView  = _fatherView;
     this.childView   = _childView;
     this.dataControl = _dataControl;
     this.controller  = Controller.getInstance();
 }
        /*******************************
         * Initialization methods
         ******************************/
        public void Init(ConversationDataControl conversation)
        {
            Conversation = conversation;

            ConversationNodeEditorFactory.Intance.ResetInstance();
            conversationEditor = CreateInstance <ConversationEditor>();
            conversationEditor.BeginWindows = BeginWindows;
            conversationEditor.EndWindows   = EndWindows;
            conversationEditor.Repaint      = Repaint;
            conversationEditor.Init(conversation);
        }
 public override ConversationNodeEditor createConversationNodeEditorFor(ConversationDataControl conversation, string nodeName)
 {
     foreach (ConversationNodeEditor nodeEditor in nodeEditors)
     {
         if (nodeEditor.NodeName.ToLower() == nodeName.ToLower())
         {
             return(nodeEditor.clone());
         }
     }
     return(null);
 }
Ejemplo n.º 10
0
        protected ConversationNodeDataControl(ConversationDataControl conversation, ConversationNode conversationNode)
        {
            this.conversation      = conversation;
            this.conversationNode  = conversationNode;
            this.effectsController = new EffectsController(conversationNode.getEffects());

            conversationLines = new List <ConversationLineDataControl>();
            for (int i = 0; i < conversationNode.getLineCount(); i++)
            {
                conversationLines.Add(new ConversationLineDataControl(conversationNode.getLine(i)));
            }
        }
Ejemplo n.º 11
0
 public ConversationNodeDataControl CreateDataControlFor(ConversationDataControl conversation, ConversationNode node)
 {
     if (node is DialogueConversationNode)
     {
         return(new DialogNodeDataControl(conversation, node));
     }
     else if (node is OptionConversationNode)
     {
         return(new OptionNodeDataControl(conversation, node));
     }
     return(null);
 }
Ejemplo n.º 12
0
        public override bool moveElementDown(DataControl dataControl)
        {
            bool elementMoved = false;
            int  elementIndex = conversationsList.IndexOf((Conversation)dataControl.getContent());

            if (elementIndex < conversationsList.Count - 1)
            {
                Conversation            e = conversationsList[elementIndex];
                ConversationDataControl c = conversationsDataControlList[elementIndex];
                conversationsList.RemoveAt(elementIndex);
                conversationsDataControlList.RemoveAt(elementIndex);
                conversationsList.Insert(elementIndex + 1, e);
                conversationsDataControlList.Insert(elementIndex + 1, c);
                controller.DataModified();
                elementMoved = true;
            }

            return(elementMoved);
        }
 public DialogNodeDataControl(ConversationDataControl conversation, ConversationNode conversationNode) : base(conversation, conversationNode)
 {
     this.dialogConversationNode = conversationNode as DialogueConversationNode;
 }
Ejemplo n.º 14
0
 public DeleteNodeTool(ConversationDataControl content, ConversationNodeDataControl node)
 {
     this.content  = content;
     this.toRemove = node;
     this.subTools = CreateTools();
 }
Ejemplo n.º 15
0
 public MoveNodesTool(ConversationDataControl content, ConversationNodeDataControl grabbed, List <ConversationNodeDataControl> selection, Vector2Int alpha)
 {
     this.content  = content;
     this.grabbed  = grabbed;
     this.subTools = CreateTools(selection, alpha);
 }
 public abstract ConversationNodeEditor createConversationNodeEditorFor(ConversationDataControl conversation, string nodeName);
 public abstract ConversationNodeEditor createConversationNodeEditorFor(ConversationDataControl conversation, ConversationNodeDataControl node);
 public OptionNodeDataControl(ConversationDataControl conversation, ConversationNode conversationNode) : base(conversation, conversationNode)
 {
     this.optionConversationNode = conversationNode as OptionConversationNode;
     this.timeoutConditions      = new ConditionsController(optionConversationNode.TimeoutConditions);
 }