Exemple #1
0
 public void onClick()
 {
     /*
     ** Если мы выделили 2 IO элемента одного типа (output - output), то переключим выделение
     ** Иначе создадим связь
     ** TODO: Сделать создание связи перетаскиванием
     */
     if (SelectionManager.instance.getSelectedIO() != null)
     {
         if (SelectionManager.instance.getSelectedIO() == this)
         {
             setOutline(false);
             SelectionManager.instance.setSelectedIO(null);
         }
         else
         {
             if (SelectionManager.instance.getSelectedIO().getType() == type)
             {
                 SelectionManager.instance.getSelectedIO().setOutline(false);
                 setOutline(true);
                 SelectionManager.instance.setSelectedIO(this);
             }
             else
             {
                 NodeIOElement el1 = this;
                 NodeIOElement el2 = SelectionManager.instance.getSelectedIO();
                 // el1 - IN, el2 - OUT
                 if (el1.type == ENodeIOElementType.Output)
                 {
                     NodeIOElement _temp = el1;
                     el1 = el2;
                     el2 = _temp;
                 }
                 el1.parent.GetComponent <Node>().IOElements[el1.getNum()].setLinkedNode(el2.parent.GetComponent <Node>());
                 GameObject edge = Instantiate(edgeGO);
                 el1.setEdge(edge);
                 el2.edges.Add(edge);
                 edge.GetComponent <LineRenderer>().SetPosition(0, el1.transform.position);
                 edge.GetComponent <LineRenderer>().SetPosition(1, el2.transform.position);
                 SelectionManager.instance.getSelectedIO().setOutline(false);
                 SelectionManager.instance.setSelectedIO(null);
             }
         }
     }
     else
     {
         SelectionManager.instance.setSelectedIO(this);
         setOutline(true);
     }
 }
Exemple #2
0
 public void setInput(int num, NodeIOElement node)
 {
     IOElements[num] = node;
 }
 public void setSelectedIO(NodeIOElement _element)
 {
     selectedIO = _element;
 }
 // TODO: Перенести логику выделения из NodeIOElement в эту ф-ю
 public void selectIO(NodeIOElement _el)
 {
 }