From 49b25e755b70ec412feaaf0b898d6f7e09d2bea6 Mon Sep 17 00:00:00 2001 From: chai Date: Tue, 28 Jun 2022 09:40:37 +0800 Subject: +node example --- .../Scripts/RuntimeNodes/UGUIDisplayValue.cs | 18 ++++++++ .../Scripts/RuntimeNodes/UGUIDisplayValue.cs.meta | 12 +++++ .../Scripts/RuntimeNodes/UGUIMathBaseNode.cs | 49 +++++++++++++++++++++ .../Scripts/RuntimeNodes/UGUIMathBaseNode.cs.meta | 12 +++++ .../Scripts/RuntimeNodes/UGUIMathNode.cs | 48 ++++++++++++++++++++ .../Scripts/RuntimeNodes/UGUIMathNode.cs.meta | 12 +++++ .../Scripts/RuntimeNodes/UGUIVector.cs | 51 ++++++++++++++++++++++ .../Scripts/RuntimeNodes/UGUIVector.cs.meta | 12 +++++ 8 files changed, 214 insertions(+) create mode 100644 Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIDisplayValue.cs create mode 100644 Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIDisplayValue.cs.meta create mode 100644 Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIMathBaseNode.cs create mode 100644 Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIMathBaseNode.cs.meta create mode 100644 Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIMathNode.cs create mode 100644 Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIMathNode.cs.meta create mode 100644 Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIVector.cs create mode 100644 Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIVector.cs.meta (limited to 'Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes') diff --git a/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIDisplayValue.cs b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIDisplayValue.cs new file mode 100644 index 00000000..da5e4c20 --- /dev/null +++ b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIDisplayValue.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; +using XNode.Examples.MathNodes; + +namespace XNode.Examples.RuntimeMathNodes { + public class UGUIDisplayValue : UGUIMathBaseNode { + public Text label; + + void Update() { + DisplayValue displayValue = node as DisplayValue; + object obj = displayValue.GetInputValue("input"); + if (obj != null) label.text = obj.ToString(); + else label.text = "n/a"; + } + } +} \ No newline at end of file diff --git a/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIDisplayValue.cs.meta b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIDisplayValue.cs.meta new file mode 100644 index 00000000..d8904cf3 --- /dev/null +++ b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIDisplayValue.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 151bec3209e717646b65a9214bc08295 +timeCreated: 1525812043 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIMathBaseNode.cs b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIMathBaseNode.cs new file mode 100644 index 00000000..8b9c6496 --- /dev/null +++ b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIMathBaseNode.cs @@ -0,0 +1,49 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; +using XNode.Examples.MathNodes; + +namespace XNode.Examples.RuntimeMathNodes { + public class UGUIMathBaseNode : MonoBehaviour, IDragHandler { + [HideInInspector] public Node node; + [HideInInspector] public RuntimeMathGraph graph; + public Text header; + + private UGUIPort[] ports; + + public virtual void Start() { + ports = GetComponentsInChildren(); + foreach (UGUIPort port in ports) port.node = node; + header.text = node.name; + SetPosition(node.position); + } + + public virtual void UpdateGUI() { } + + private void LateUpdate() { + foreach (UGUIPort port in ports) port.UpdateConnectionTransforms(); + } + + public UGUIPort GetPort(string name) { + for (int i = 0; i < ports.Length; i++) { + if (ports[i].name == name) return ports[i]; + } + return null; + } + + public void SetPosition(Vector2 pos) { + pos.y = -pos.y; + transform.localPosition = pos; + } + + public void SetName(string name) { + header.text = name; + } + + public void OnDrag(PointerEventData eventData) { + + } + } +} \ No newline at end of file diff --git a/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIMathBaseNode.cs.meta b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIMathBaseNode.cs.meta new file mode 100644 index 00000000..a874bda3 --- /dev/null +++ b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIMathBaseNode.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f09009dde769a3845a66ded688a8f8dd +timeCreated: 1525812043 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIMathNode.cs b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIMathNode.cs new file mode 100644 index 00000000..76c2663e --- /dev/null +++ b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIMathNode.cs @@ -0,0 +1,48 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; +using XNode.Examples.MathNodes; + +namespace XNode.Examples.RuntimeMathNodes { + public class UGUIMathNode : UGUIMathBaseNode { + public InputField valA; + public InputField valB; + public Dropdown dropDown; + + private MathNode mathNode; + + public override void Start() { + base.Start(); + mathNode = node as MathNode; + + valA.onValueChanged.AddListener(OnChangeValA); + valB.onValueChanged.AddListener(OnChangeValB); + dropDown.onValueChanged.AddListener(OnChangeDropdown); + UpdateGUI(); + } + + public override void UpdateGUI() { + NodePort portA = node.GetInputPort("a"); + NodePort portB = node.GetInputPort("b"); + valA.gameObject.SetActive(!portA.IsConnected); + valB.gameObject.SetActive(!portB.IsConnected); + + valA.text = mathNode.a.ToString(); + valB.text = mathNode.b.ToString(); + dropDown.value = (int) mathNode.mathType; + } + + private void OnChangeValA(string val) { + mathNode.a = float.Parse(valA.text); + } + + private void OnChangeValB(string val) { + mathNode.b = float.Parse(valB.text); + } + + private void OnChangeDropdown(int val) { + mathNode.mathType = (MathNode.MathType) val; + } + } +} \ No newline at end of file diff --git a/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIMathNode.cs.meta b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIMathNode.cs.meta new file mode 100644 index 00000000..2754d28b --- /dev/null +++ b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIMathNode.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f9595458c0d990a458724e20b81b5637 +timeCreated: 1525812043 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIVector.cs b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIVector.cs new file mode 100644 index 00000000..ca517a3e --- /dev/null +++ b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIVector.cs @@ -0,0 +1,51 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; +using XNode.Examples.MathNodes; + +namespace XNode.Examples.RuntimeMathNodes { + public class UGUIVector : UGUIMathBaseNode { + public InputField valX; + public InputField valY; + public InputField valZ; + + private Vector vectorNode; + + public override void Start() { + base.Start(); + vectorNode = node as Vector; + + valX.onValueChanged.AddListener(OnChangeValX); + valY.onValueChanged.AddListener(OnChangeValY); + valZ.onValueChanged.AddListener(OnChangeValZ); + UpdateGUI(); + } + + public override void UpdateGUI() { + NodePort portX = node.GetInputPort("x"); + NodePort portY = node.GetInputPort("y"); + NodePort portZ = node.GetInputPort("z"); + valX.gameObject.SetActive(!portX.IsConnected); + valY.gameObject.SetActive(!portY.IsConnected); + valZ.gameObject.SetActive(!portZ.IsConnected); + + Vector vectorNode = node as Vector; + valX.text = vectorNode.x.ToString(); + valY.text = vectorNode.y.ToString(); + valZ.text = vectorNode.z.ToString(); + } + + private void OnChangeValX(string val) { + vectorNode.x = float.Parse(valX.text); + } + + private void OnChangeValY(string val) { + vectorNode.y = float.Parse(valY.text); + } + + private void OnChangeValZ(string val) { + vectorNode.z = float.Parse(valZ.text); + } + } +} \ No newline at end of file diff --git a/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIVector.cs.meta b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIVector.cs.meta new file mode 100644 index 00000000..3afde48a --- /dev/null +++ b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/RuntimeMathGraph/Scripts/RuntimeNodes/UGUIVector.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8f91529775ea04f4681f3f03df79e870 +timeCreated: 1525812043 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: -- cgit v1.1-26-g67d0