using System; using System.Collections.Generic; using System.Data; using TMPro; using Unity.VisualScripting; using UnityEngine; using UnityEngine.UI; public class SerialPortTest : MonoBehaviour { public Button SendButton; public TMP_InputField InputField; private ArrowSerialPort targetPort; public TMP_InputField PortInputField; public SerialPortExample[] SerialPortExampleGroup; private void OnEnable() { PortInputField.text = "1"; InputField.text = string.Empty; SendButton.onClick.AddListener(OnSendPortData); DontDestroyOnLoad(this); targetPort = GameObject.FindObjectOfType(); } private void OnSendPortData() { SerialPortExampleGroup = FindObjectsOfType(); var portIndex = int.Parse(PortInputField.text); var msg = InputField.text; List data = new List(); var strs = msg.Split(' '); for (int i = 0; i < strs.Length; i++) { data.Add(Convert.ToByte(strs[i], 16)); } switch (portIndex) { case 1://弓箭串口 targetPort.TestRead(data.ToArray()); break; case 0://投币盒子 foreach (var item in SerialPortExampleGroup) { if (item.name.Contains("com0")) { item.PrintFrame(data.ToArray()); break; } } break; case 8://投币机 foreach (var item in SerialPortExampleGroup) { if (item.name.Contains("com8")) { break; } } break; } } }