2025-03-10 16:42:23 +09:00
|
|
|
|
using System.Collections;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
using TMPro;
|
|
|
|
|
|
using WI;
|
|
|
|
|
|
using UnityEngine.EventSystems;
|
|
|
|
|
|
|
|
|
|
|
|
public class UI_GraphChartData : UIBase, ISingle
|
|
|
|
|
|
{
|
|
|
|
|
|
public TextMeshProUGUI DataName;
|
|
|
|
|
|
public TextMeshProUGUI DataValue;
|
|
|
|
|
|
public TextMeshProUGUI DateTime;
|
|
|
|
|
|
|
|
|
|
|
|
public Vector3 offset;
|
|
|
|
|
|
private OrbitalController orbitalController;
|
|
|
|
|
|
|
|
|
|
|
|
public override void AfterAwake()
|
|
|
|
|
|
{
|
|
|
|
|
|
orbitalController = FindSingle<OrbitalController>();
|
|
|
|
|
|
SetActive(false);
|
|
|
|
|
|
}
|
|
|
|
|
|
public void SetData(string dataName, float dataValue, string dateTime, Vector3 pos)
|
|
|
|
|
|
{
|
2025-04-07 14:20:09 +09:00
|
|
|
|
ShowUINextToClickedUI(pos);
|
2025-03-10 16:42:23 +09:00
|
|
|
|
|
|
|
|
|
|
DataName.SetText(dataName);
|
|
|
|
|
|
DateTime.SetText(dateTime);
|
|
|
|
|
|
|
|
|
|
|
|
float truncatedFloat = Mathf.Floor(dataValue * 10f) / 10f;
|
2025-04-07 16:18:12 +09:00
|
|
|
|
DataValue.SetText(SetUnit(dataName, truncatedFloat));
|
|
|
|
|
|
}
|
|
|
|
|
|
private string SetUnit(string dataName, float dataValue)
|
|
|
|
|
|
{
|
|
|
|
|
|
var value = "";
|
|
|
|
|
|
float truncatedFloat = Mathf.Floor(dataValue * 10f) / 10f;
|
|
|
|
|
|
|
|
|
|
|
|
switch (dataName)
|
|
|
|
|
|
{
|
|
|
|
|
|
case "<22><><EFBFBD><EFBFBD> (Peak)":
|
|
|
|
|
|
value = truncatedFloat + " bar";
|
|
|
|
|
|
break;
|
|
|
|
|
|
case "<22>ֺ<EFBFBD> <20><><EFBFBD><EFBFBD>":
|
|
|
|
|
|
value = truncatedFloat + " %";
|
|
|
|
|
|
break;
|
|
|
|
|
|
case "<22>ֺ<EFBFBD> <20>µ<EFBFBD>":
|
|
|
|
|
|
value = truncatedFloat + " <20><>C";
|
|
|
|
|
|
break;
|
|
|
|
|
|
case "<22><><EFBFBD><EFBFBD>Ŭ Ÿ<><C5B8>":
|
|
|
|
|
|
value = truncatedFloat + " <20><>";
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
return value;
|
2025-03-10 16:42:23 +09:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-04-07 14:20:09 +09:00
|
|
|
|
void ShowUINextToClickedUI(Vector3 topPosition)
|
2025-03-10 16:42:23 +09:00
|
|
|
|
{
|
|
|
|
|
|
RectTransform parentRectTransform = rectTransform.parent.GetComponent<RectTransform>();
|
|
|
|
|
|
|
2025-04-07 14:20:09 +09:00
|
|
|
|
var parentSize = parentRectTransform.rect.size;
|
|
|
|
|
|
var uiSize = rectTransform.rect.size;
|
2025-03-10 16:42:23 +09:00
|
|
|
|
|
2025-04-07 16:18:12 +09:00
|
|
|
|
Vector2 localPoint;
|
|
|
|
|
|
RectTransformUtility.ScreenPointToLocalPointInRectangle(parentRectTransform, Input.mousePosition, null, out localPoint);
|
|
|
|
|
|
|
2025-04-08 18:23:36 +09:00
|
|
|
|
rectTransform.localPosition = new Vector2(localPoint.x + offset.x, localPoint.y + offset.y);
|
2025-03-10 16:42:23 +09:00
|
|
|
|
gameObject.SetActive(true);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|