DIVisualComponent AddBranch()
        {
            DIVisualComponent comp = (DIVisualComponent.CreateInstance <DIVisualComponent>());

            comp.previous           = this;
            comp.position           = position;
            comp.position.position += Vector2.up * (position.height + 45);
            return(comp);
        }
 /// <summary>
 /// Create button to connect other Visual Component
 /// </summary>
 /// <param name="comp">Component will be connected as child, null to make creation mode, not null to insert mode</param>
 /// <param name="nextStr">Next button name</param>
 /// <param name="insertStr">Insert button name</param>
 protected void ConnectButtonFunc(ref DIVisualComponent comp, string nextStr, string insertStr, GUIStyle style = null)
 {
     if (style == null)
     {
         style = new GUIStyle(GUI.skin.button);
     }
     if (comp == null)
     {
         if (GUILayout.Button(nextStr, style))
         {
             //DIVisualScriptingWindow.Window.inspectTarget.start.components.Add(DIVisualComponent.CreateInstance<DIVisualComponent>());
             comp                    = (DIVisualComponent.CreateInstance <DIVisualComponent>());
             comp.previous           = this;
             comp.position           = position;
             comp.position.position += Vector2.up * (position.height + 45);
         }
     }
     else
     {
         if (GUILayout.Button(insertStr, style))
         {
             //DIVisualScriptingWindow.Window.inspectTarget.start.components.Add(DIVisualComponent.CreateInstance<DIVisualComponent>());
             DIVisualComponent _backupNext = comp;
             comp                    = (DIVisualComponent.CreateInstance <DIVisualComponent>());
             comp.previous           = this;
             comp.position           = position;
             comp.position.position += Vector2.up * (position.height + 45);
             comp.next               = _backupNext;
             comp.next.previous      = comp;
             if (_backupNext.position.y == comp.position.y)
             {
                 _backupNext.position.y += 40;
             }
         }
     }
 }
Example #3
0
 void DoubleClickGenerateRoot()
 {
     if (Event.current.clickCount >= 2)
     {
         DIVisualScriptingData.inspectRootField.SetValue(DIVisualScriptingData.inspectTarget, DIVisualComponent.CreateInstance <DIRootComponent>() as DIRootComponent);
         inspectRoot.position.position = Event.current.mousePosition;
     }
 }