Files
ChunilENG/Assets/WorkSpace/Personal/JYM/UI_GraphChartData.cs

72 lines
2.1 KiB
C#
Raw Normal View History

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;
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
Vector2 localPoint;
RectTransformUtility.ScreenPointToLocalPointInRectangle(parentRectTransform, Input.mousePosition, null, out localPoint);
2025-04-07 14:20:09 +09:00
float clampedX = Mathf.Clamp(topPosition.x + offset.x, -parentSize.x / 2 + uiSize.x / 2, parentSize.x / 2 - uiSize.x / 2);
2025-03-10 16:42:23 +09:00
rectTransform.localPosition = new Vector2(clampedX, localPoint.y + offset.y);
2025-03-10 16:42:23 +09:00
gameObject.SetActive(true);
}
}