From eec282f4bc8300908c30d0c892d1398503894847 Mon Sep 17 00:00:00 2001 From: Thor Brigsted Date: Sat, 12 May 2018 15:15:12 +0200 Subject: [PATCH] Added 'remove node' --- .../RuntimeMathGraph/Prefabs/NodeGraph.prefab | Bin 35692 -> 39844 bytes Examples/RuntimeMathGraph/Scripts/NodeDrag.cs | 12 ++++++++++-- .../Scripts/RuntimeMathGraph.cs | 9 +++++---- .../Scripts/UGUIContextMenu.cs | 9 ++++++++- 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/Examples/RuntimeMathGraph/Prefabs/NodeGraph.prefab b/Examples/RuntimeMathGraph/Prefabs/NodeGraph.prefab index fe4dd1b688fe1684c129376cc2006b46b2c88985..50cf7b615c6b73787844c621b457fd008e98c1f2 100644 GIT binary patch delta 3064 zcmZ9O4^&gv9mjw7T@nH!1PDn$2+>j-EYbu8qD6&D0UcK6x;A>4CP)NJfS^Iq6@v&C zP%-t6gfeHDW0Uq+i+%2>_-E=_SGCkqk8aFE88BUS{wYJ}aP`mbGwv;g3jT>ubH+vdaa%c)VtEjf#Ra^o+uSx>&Yd$9bwE)DHn!DeRV zGGx9no9I&&BwL~&rqq&%H!6#*^I^T!W?k*D7ISZGWYz%I1;hQP8r}5Jm8B^CU{BLx zxxTe2K4kCR$`n^b%GuG+=Q;G$>3qayW#uqz+N(WCa+`ukayw%|I06JOAb>Rbgitz@ zYzp;t&%YAP|!yP_;vXR((qtgLWYYaC0g71dBdqc3D<&cDO3x3haAQ6cFz zz3J>4?Wp~CRRFY8XSLKB{Rdi{RcvSo05t=!m1pwo>2mgT0CZB;%(I+tb?%;G3FtAv zCp@bez4G7tYa}pCSryMT|H-w?vPr-cAjT*tDEU6&lEeuE6bcTv?_`eN9Fst)1Yi?y zeCP1vRiBPa;3j2)?w_x}G5u+z6l$aZ)x56%)5XV4Q=~BF$Nv0Ly=&ogDU=3^wnO&4 z>7GO>Oi)$@PH)9&7lu>AR!hMy131h(ykyLunDlok=z_%R9&Bt@|8-Iu8lX%@M}q#r zJ=fv4?uECZ;Yk2VboglD5K`6whpXCB# zke*I8L0GuNv^e@$8_J|pE}t6G!ofUe=xy1TZOBELjlR<&;my%UMl#xlAOfI}zSDw0 zf6Es3JLE=Y$^?H6r*?(?!{A2tNUx682>lOiiw@3qBWFK_#T3wjpy0?m{e5%Y$f%%> z_(~EY);WjQx>0GASl#>=zucF;!;RXNVkOBH`;$(zx>2`UOwe3CQu&_8jnvViZSRff z_wIh|MtL#MZJp1DFlG4`&yp|P$P_DPU2Ke4mNG&E$B9|zKVw(KK5(P+lnK?nwrkl? zIQF0cx(tPpse|7hDwB9nUc9I~S2=QjSF#70v;bYS*kJl(1UqLRcsIv`V5%tm_-6)d z!x|5gPZOEzUzO{xReO;31%NziNIx}n+JXYlHhNGgWwZIw3jJWv^8O_c>P!$nU4ikl zc_CLlXv~kf(-bY4gC3OWd{GRtZ)okx-g_QYFkSp4`B$g8QnK68G0N052)Eul6rW#P z`FcC*e@WC`Tzbp)`@(i))QSEsGRE=cTiQ`xqR2+ms^7*q3Y%sCP$@X+1chb$FLypw zM&UXha%^^F+=WfGQMlWWZ5e0Ue`t-u{eG;|_06j48YQ0aW79U@l-+GmV(rV`Ae_Gj zr{dciCzLqPkL4>fodb#ImDuhFb2N|lIf7KU-H$y?`kUf-hzg(aW7o$|U0YnP!Z-a` zlKBq<(Z5z4Ph(w2V_hfS%X?&0wa>BNsU7}7*$ zoE+43YNrNwr@?AC&u6IE;F#lTuc!2TS0JeCf)rr6yw_74Vbi8SFl%#PBJ0fE}u;=4-P8;DX=6E{ptjA-Ktk`4qvNwI4Uc&I0DJSwn0V9m%Lrvmrn4k_hFJ-E|-MGIo|s6}*tIYYoJ> z^_Wlrah4eN)T@2n3z`j4{u4>~;)uLouOfS!v&rx~GNP^5$+;T|_Y)K(zrK*{Y)ByT zavABbA4CipSrtVtHOk55ZE3z-cDER0K9iAEF{GkFPR3i3N!>;nD{m-3dzz$?h3CA! z>lOfbABJpdj3-^&blfDRKTeUi5TK9!uJJAtBzR=_G=s>KCKGeUL!8^9iM{!VPk?=b zB`vS|25V`fA<}>4@~e@M##%B~DIU9{{H~wl`dES delta 1813 zcmYk64NOy46vxkf*Vcjv6-ryA#p;k1MN=6fGUAE~GKRAnqGcgkr1*&fGA25qxT&BH ztX^mf^P^K2VR2gWwuq=(N8Ci*jJnM@gQOBo(4clm97c3IxYjo5OW*t5|2hA2&pq!Q zKg0D~I5EJAD*$^70bm^7yIRFJW=gxY3!00n4>wjV2o*H;&K(8mJpOz`qGWY$SXO{Q3LbF_Wk&;k}bY z5KI6jvZ&PeFw1oId+Hw~pT97-pW|a^-=KU;T6-8x2VlmWY?F$n8fWYn1vU)Xj(PA8 z((kA(4x<2696*bQMg6lN@0~&cTtimjVLILFC(&00prZi0J#5z(+?hVN09?qncvyey z@QTv|0x*p7=^mzi81pJjXaYCFGLP`u>CChGNFl5d0F-#x&6dy1^J0YHLgqE;DLy#M z8Y_fip--21*)=mHUkH83T0OCYn|I6q8q+}RqXB}jaQwkzbL-N_;~Iz~03eQ-0I*O9 zTHge%B@M(C2q4B5U`>#_P@fsm)%nudO>vPCX;Keg^0%jXfWT1$DGMm4$s&g_kVE9Of&~m=wAs{;q}CB>*}!5aE^eFaMEZ&_dkEyc?NYyQF6v zwGxo}imrmMPpubNiK!T&SJ+W>_i62PE2)wJ*f1G(2vPzQPHaoJ61m)`Gyh#wdb`X@ z)DZv~sKKUzy)a<(Pdlxo7+Hd6Bf*W`dHb(gN%MGL2Q7(`J=$(78A67>rq``L+_QFh z`(rB+DFBR^3_A{4e@-&T&$p3cWO7W1-GwH}&$pMS*+`Ajr|Vkupz!-#8*wA^ZlsG# z8px@{k)GgVy@_SZC=I7#6@VIZ;mN>~qoy17SJH5r>AcKWfd_@RtLh?X4 zr1D7s4gfIWFoLFne!KEzB<(~va_%Fnz2L=>T>=F)yajOF!+wZ8!cA#YP*JpxElpk- z^8S#5I*@r|)$OZ8GKLj2V=_ReCpId1h|Eh?QgMt=7xdti$=Ow?q|FGuCaS!%i*j0& zRQI+|_-ks(aOoK(?L+3(<;sdb-*r(*&3KqzHf2v!V$LNcO^WrgXJ=D{LyM!R%a2Ju zvCe)OFoD)g!C-IIgXg5%w{}jTs;M}^Sak?qT^~!I=X6Y@`l)=K;TOUiR-Py9ps|Xb zEXW--GNnwsO2dYYYQB5bd5+oFWids8i1n}4u2 z@y=2eIo7wCu(r(_=B$<+i`znk|G&*Fe(N))s}=LjpC)h~#`jhva!k8X#b;CvauV-r zkM3{2Js73Oe+utBpeIb*sA5U=a#r40&O7Qaasl3B<=A42jHTED p*deQ)9oiSk#J2C=tkO5Dk8JNUcViSwKQJDh49r;?%vOCl=RZ;6*a83m diff --git a/Examples/RuntimeMathGraph/Scripts/NodeDrag.cs b/Examples/RuntimeMathGraph/Scripts/NodeDrag.cs index 62c1893..96ba753 100644 --- a/Examples/RuntimeMathGraph/Scripts/NodeDrag.cs +++ b/Examples/RuntimeMathGraph/Scripts/NodeDrag.cs @@ -4,7 +4,7 @@ using UnityEngine; using UnityEngine.EventSystems; namespace XNode.Examples.RuntimeMathNodes { - public class NodeDrag : MonoBehaviour, IPointerDownHandler, IDragHandler, IEndDragHandler { + public class NodeDrag : MonoBehaviour, IPointerClickHandler, IBeginDragHandler, IDragHandler, IEndDragHandler { private Vector3 offset; private UGUIMathBaseNode node; @@ -16,7 +16,7 @@ namespace XNode.Examples.RuntimeMathNodes { node.transform.localPosition = node.graph.scrollRect.content.InverseTransformPoint(eventData.position) - offset; } - public void OnPointerDown(PointerEventData eventData) { + public void OnBeginDrag(PointerEventData eventData) { Vector2 pointer = node.graph.scrollRect.content.InverseTransformPoint(eventData.position); Vector2 pos = node.transform.localPosition; offset = pointer - pos; @@ -28,5 +28,13 @@ namespace XNode.Examples.RuntimeMathNodes { pos.y = -pos.y; node.node.position = pos; } + + public void OnPointerClick(PointerEventData eventData) { + if (eventData.button != PointerEventData.InputButton.Right) + return; + + node.graph.nodeContextMenu.selectedNode = node.node; + node.graph.nodeContextMenu.OpenAt(eventData.position); + } } } \ No newline at end of file diff --git a/Examples/RuntimeMathGraph/Scripts/RuntimeMathGraph.cs b/Examples/RuntimeMathGraph/Scripts/RuntimeMathGraph.cs index 114c6be..f1b39b9 100644 --- a/Examples/RuntimeMathGraph/Scripts/RuntimeMathGraph.cs +++ b/Examples/RuntimeMathGraph/Scripts/RuntimeMathGraph.cs @@ -16,7 +16,8 @@ namespace XNode.Examples.RuntimeMathNodes { public XNode.Examples.RuntimeMathNodes.UGUIDisplayValue runtimeDisplayValuePrefab; public XNode.Examples.RuntimeMathNodes.Connection runtimeConnectionPrefab; [Header("References")] - public UGUIContextMenu contextMenu; + public UGUIContextMenu graphContextMenu; + public UGUIContextMenu nodeContextMenu; public UGUITooltip tooltip; public ScrollRect scrollRect { get; private set; } @@ -26,8 +27,8 @@ namespace XNode.Examples.RuntimeMathNodes { // Create a clone so we don't modify the original asset graph = graph.Copy() as MathGraph; scrollRect = GetComponentInChildren(); - contextMenu.onClickSpawn -= SpawnNode; - contextMenu.onClickSpawn += SpawnNode; + graphContextMenu.onClickSpawn -= SpawnNode; + graphContextMenu.onClickSpawn += SpawnNode; } private void Start() { @@ -88,7 +89,7 @@ namespace XNode.Examples.RuntimeMathNodes { if (eventData.button != PointerEventData.InputButton.Right) return; - contextMenu.OpenAt(eventData.position); + graphContextMenu.OpenAt(eventData.position); } } } \ No newline at end of file diff --git a/Examples/RuntimeMathGraph/Scripts/UGUIContextMenu.cs b/Examples/RuntimeMathGraph/Scripts/UGUIContextMenu.cs index 7d8dd84..0d2e85c 100644 --- a/Examples/RuntimeMathGraph/Scripts/UGUIContextMenu.cs +++ b/Examples/RuntimeMathGraph/Scripts/UGUIContextMenu.cs @@ -9,7 +9,7 @@ namespace XNode.Examples.RuntimeMathNodes { public Action onClickSpawn; public CanvasGroup group; - + [HideInInspector] public Node selectedNode; private Vector2 pos; private void Start() { @@ -47,6 +47,13 @@ namespace XNode.Examples.RuntimeMathNodes { onClickSpawn(nodeType, pos); } + public void RemoveNode() { + RuntimeMathGraph runtimeMathGraph = GetComponentInParent(); + runtimeMathGraph.graph.RemoveNode(selectedNode); + runtimeMathGraph.Refresh(); + Close(); + } + public void OnPointerExit(PointerEventData eventData) { Close(); }