Files
XRLib/Assets/Scripts/UVC/Factory/Alarm/AlarmSingleIcon.cs

52 lines
1.4 KiB
C#
Raw Normal View History

2025-06-27 17:50:23 +09:00
using TMPro;
using UnityEngine;
using UVC.Data;
using UVC.Util;
2025-06-23 20:06:15 +09:00
namespace UVC.Factory.Alarm
{
2025-07-02 18:24:00 +09:00
public class AlarmSingleIcon : MonoBehaviour
2025-06-23 20:06:15 +09:00
{
2025-06-27 17:50:23 +09:00
[Tooltip("알람 내용을 표시하는 텍스트입니다.")]
[SerializeField] private TextMeshProUGUI text;
private DataObject data;
2025-06-23 20:06:15 +09:00
private Transform equipmentTransform;
2025-06-27 17:50:23 +09:00
public void SetData(DataObject newData, Transform equipment)
2025-06-23 20:06:15 +09:00
{
2025-06-27 17:50:23 +09:00
if (data == null)
{
data = newData;
}
else
{
foreach (var keyValue in newData)
{
if (data.ContainsKey(keyValue.Key))
{
data[keyValue.Key] = keyValue.Value;
}
}
}
2025-06-23 20:06:15 +09:00
equipmentTransform = equipment;
2025-06-27 17:50:23 +09:00
2025-07-01 20:10:15 +09:00
string icon = data.GetString("ICON");
if (text != null && icon != null)
2025-06-27 17:50:23 +09:00
{
2025-07-01 20:10:15 +09:00
text.text = icon;
2025-06-27 17:50:23 +09:00
}
2025-06-23 20:06:15 +09:00
}
public void OnPointerClick()
{
// 클릭 시 해당 설비로 카메라 포커스
2025-07-01 20:10:15 +09:00
CameraController.Instance.FocusOnTarget(equipmentTransform.position, 3.0f);
2025-06-27 17:50:23 +09:00
Debug.Log($"알람 [{data.GetString("MESSAGE")}]이 발생한 설비로 이동합니다.");
2025-06-23 20:06:15 +09:00
// 여기서 알람 상세정보 패널을 띄워도 좋음
}
}
}