| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- 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 Button ArrowButton;
- public Button MagazinesOnButton;
- public Button MagazinesOffButton;
- 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<ArrowSerialPort>();
- ArrowButton.onClick.AddListener(OnShoot);
- MagazinesOnButton.onClick.AddListener(OnMagazinesOn);
- MagazinesOffButton.onClick.AddListener(OnMagazinesOff);
- }
- private void OnShoot()
- {
- List<byte> data = new List<byte>();
- data.Add(0xaa);
- data.Add(0x81);
- data.Add(0x07);
- data.Add(0x1f);
- data.Add(0x24);
- data.Add(0xbd);
- data.Add(0x55);
- targetPort?.TestRead(data.ToArray());
- }
- private void OnMagazinesOff()
- {
- List<byte> data = new List<byte>();
- data.Add(0xaa);
- data.Add(0x84);
- data.Add(0x06);
- data.Add(0x00);
- data.Add(0x24);
- data.Add(0xbd);
- data.Add(0x55);
- targetPort?.TestRead(data.ToArray());
- }
- private void OnMagazinesOn()
- {
- List<byte> data = new List<byte>();
- data.Add(0xaa);
- data.Add(0x84);
- data.Add(0x06);
- data.Add(0x01);
- data.Add(0x24);
- data.Add(0xbd);
- data.Add(0x55);
- targetPort?.TestRead(data.ToArray());
- }
- private void OnSendPortData()
- {
- SerialPortExampleGroup = FindObjectsOfType<SerialPortExample>();
- var portIndex = int.Parse(PortInputField.text);
- var msg = InputField.text;
- List<byte> data = new List<byte>();
- var strs = msg.Split(' ');
- for (int i = 0; i < strs.Length; i++)
- {
- data.Add(Convert.ToByte(strs[i], 16));
- }
- switch (portIndex)
- {
- case 0://弓箭串口
- targetPort.TestRead(data.ToArray());
- break;
- case 4://投币盒子
- foreach (var item in SerialPortExampleGroup)
- {
- if (item.name.Contains("com4"))
- {
- item.PrintFrame(data.ToArray());
- break;
- }
- }
- break;
- case 6://投币机
- foreach (var item in SerialPortExampleGroup)
- {
- if (item.name.Contains("com6"))
- {
- break;
- }
- }
- break;
- }
- }
- private void Update()
- {
- if (Input.GetKeyDown(KeyCode.Space))
- {
- AimHandler.ins.ExitIntoEvent();
- }
- }
- }
|