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