UGUIMathNode.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using XNode.Examples.MathNodes;
  6. namespace XNode.Examples.RuntimeMathNodes {
  7. public class UGUIMathNode : UGUIMathBaseNode {
  8. public InputField valA;
  9. public InputField valB;
  10. public Dropdown dropDown;
  11. private MathNode mathNode;
  12. public override void Start() {
  13. base.Start();
  14. mathNode = node as MathNode;
  15. valA.onValueChanged.AddListener(OnChangeValA);
  16. valB.onValueChanged.AddListener(OnChangeValB);
  17. dropDown.onValueChanged.AddListener(OnChangeDropdown);
  18. UpdateGUI();
  19. }
  20. public override void UpdateGUI() {
  21. NodePort portA = node.GetInputPort("a");
  22. NodePort portB = node.GetInputPort("b");
  23. valA.gameObject.SetActive(!portA.IsConnected);
  24. valB.gameObject.SetActive(!portB.IsConnected);
  25. valA.text = mathNode.a.ToString();
  26. valB.text = mathNode.b.ToString();
  27. dropDown.value = (int) mathNode.mathType;
  28. }
  29. private void OnChangeValA(string val) {
  30. mathNode.a = float.Parse(valA.text);
  31. }
  32. private void OnChangeValB(string val) {
  33. mathNode.b = float.Parse(valB.text);
  34. }
  35. private void OnChangeDropdown(int val) {
  36. mathNode.mathType = (MathNode.MathType) val;
  37. }
  38. }
  39. }