2025-06-27 17:50:23 +09:00
|
|
|
|
using TMPro;
|
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
using UVC.Data;
|
2025-06-24 19:29:37 +09:00
|
|
|
|
using UVC.Util;
|
2025-06-23 20:06:15 +09:00
|
|
|
|
|
|
|
|
|
|
namespace UVC.Factory.Alarm
|
|
|
|
|
|
{
|
|
|
|
|
|
public class SingleAlarmIcon : MonoBehaviour
|
|
|
|
|
|
{
|
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
|
|
|
|
|
|
|
|
|
|
if (text != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
string combinedString = string.Empty;
|
|
|
|
|
|
foreach (var kvp in data)
|
|
|
|
|
|
{
|
|
|
|
|
|
// <indent> 태그를 사용하여 줄바꿈 시에도 정렬이 유지되도록 합니다.
|
|
|
|
|
|
combinedString += $"{kvp.Key}<pos=40%><indent=40%>{kvp.Value ?? "null"}</indent>\n";
|
|
|
|
|
|
}
|
|
|
|
|
|
combinedString = combinedString.TrimEnd('\n'); // 마지막 줄바꿈 제거
|
|
|
|
|
|
text.text = combinedString;
|
|
|
|
|
|
}
|
2025-06-23 20:06:15 +09:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void OnPointerClick()
|
|
|
|
|
|
{
|
|
|
|
|
|
// 클릭 시 해당 설비로 카메라 포커스
|
|
|
|
|
|
CameraController.Instance.FocusOnTarget(equipmentTransform, 3.0f);
|
2025-06-27 17:50:23 +09:00
|
|
|
|
Debug.Log($"알람 [{data.GetString("MESSAGE")}]이 발생한 설비로 이동합니다.");
|
2025-06-23 20:06:15 +09:00
|
|
|
|
// 여기서 알람 상세정보 패널을 띄워도 좋음
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|