DaoNiaoShu_Dog/Assets/SenSorSystem/ChuanCiZhen_SenSor.cs
2025-11-25 17:26:38 +08:00

64 lines
1.5 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 穿刺针对接硬件脚本
/// </summary>
public class ChuanCiZhen_SenSor : Sensor
{
/// <summary>
/// 进度值
/// </summary>
[HideInInspector]
public float progressValue;
/// <summary>
/// 旋转X
/// </summary>
[HideInInspector]
public float X;
/// <summary>
/// 旋转Y
/// </summary>
[HideInInspector]
public float Y;
/// <summary>
/// 旋转Z
/// </summary>
[HideInInspector]
public float Z;
[SerializeField]
Text txt;
private void Start()
{
transform.parent.GetComponent<SensorManager>().SendFunction("+++");
}
public override void ReceiveData(string datas)
{
base.ReceiveData(datas);
if (!datas.Split("OK")[0].Split("ID:")[1].Split(',')[0].Equals("CCZ")) return;
//this.Error(datas);
progressValue = (Convert.ToInt32(datas.Split("OK")[0].Split("LEVEL:")[1])) / 10.0f;
//this.Error($"当前穿刺针的拔出进度为:{progressValue}");
X = float.Parse(datas.Split("OK")[0].Split("PIT:")[1].Split(',')[0]);
Y = float.Parse(datas.Split("OK")[0].Split("YAW:")[1].Split(',')[0]);
Z = float.Parse(datas.Split("OK")[0].Split("ROL:")[1].Split(',')[0]);
this.Error($"当前旋转角度为:{X},{Y},{Z}");
}
public override void Display(string datas)
{
base.Display(datas);
txt.text = $"穿刺针进度:{progressValue},X:{X},Y:{Y},Z:{Z}";
}
}