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

67 lines
1.9 KiB
C#

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)
{
ShowUINextToClickedUI(pos);
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 "보압 (Peak)":
value = truncatedFloat + " bar";
break;
case "주변 습도":
value = truncatedFloat + " %";
break;
case "주변 온도":
value = truncatedFloat + " °C";
break;
case "싸이클 타임":
value = truncatedFloat + " 초";
break;
}
return value;
}
void ShowUINextToClickedUI(Vector3 topPosition)
{
RectTransform parentRectTransform = rectTransform.parent.GetComponent<RectTransform>();
Vector2 localPoint;
RectTransformUtility.ScreenPointToLocalPointInRectangle(parentRectTransform, Input.mousePosition, null, out localPoint);
rectTransform.localPosition = new Vector2(localPoint.x + offset.x, localPoint.y + offset.y);
gameObject.SetActive(true);
}
}