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(); 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(); var parentSize = parentRectTransform.rect.size; var uiSize = rectTransform.rect.size; 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); } }