<fix> 로봇 모델 변경 및 TCP 실시간 좌표 안 받아와지던 버그 해결
This commit is contained in:
@@ -5,6 +5,9 @@ using System;
|
||||
public class TCPView : MonoBehaviour
|
||||
{
|
||||
public event Action OnTCPupdateRequested;
|
||||
// 이전 데이터를 기억할 변수 (캐싱)
|
||||
private float lastX, lastY, lastZ, lastRx, lastRy, lastRz;
|
||||
private bool isFirstUpdate = true;
|
||||
|
||||
// --- TCP 좌표들 ---
|
||||
[SerializeField] private TextMeshProUGUI x;
|
||||
@@ -24,12 +27,26 @@ public class TCPView : MonoBehaviour
|
||||
public void SetCoordinates(RobotData data)
|
||||
{
|
||||
if (data == null) return;
|
||||
|
||||
if (!isFirstUpdate &&
|
||||
Mathf.Approximately((float)data.x, lastX) &&
|
||||
Mathf.Approximately((float)data.y, lastY) &&
|
||||
Mathf.Approximately((float)data.z, lastZ) &&
|
||||
Mathf.Approximately((float)data.rx, lastRx) &&
|
||||
Mathf.Approximately((float)data.ry, lastRy) &&
|
||||
Mathf.Approximately((float)data.rz, lastRz))
|
||||
{
|
||||
return;
|
||||
}
|
||||
x.text = data.x.ToString("F2");
|
||||
Y.text = data.y.ToString("F2");
|
||||
Z.text = data.z.ToString("F2");
|
||||
Rx.text = data.rx.ToString("F2");
|
||||
Ry.text = data.ry.ToString("F2");
|
||||
Rz.text = data.rz.ToString("F2");
|
||||
|
||||
// 캐시 업데이트
|
||||
lastX = (float)data.x; lastY = (float)data.y; lastZ = (float)data.z;
|
||||
lastRx = (float)data.rx; lastRy = (float)data.ry; lastRz = (float)data.rz;
|
||||
isFirstUpdate = false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user