using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; using WI; using UnityEngine.EventSystems; public class UI_BarChartData : UIBase { private TextMeshProUGUI CoolingTimeData; private TextMeshProUGUI HoldingPressureTimeData; private TextMeshProUGUI WeighingTimeData; private TextMeshProUGUI ETCData; public TextMeshProUGUI DateTime; public Vector3 offset; public override void AfterAwake() { SetActive(false); } public void SetData(BarChartData data, Vector3 topPosition) { ShowUINextToClickedUI(topPosition); CoolingTimeData.SetText(ConvertFloatToString(data.coolingTime)); HoldingPressureTimeData.SetText(ConvertFloatToString(data.holdingPressureTime)); WeighingTimeData.SetText(ConvertFloatToString(data.weighingTime)); ETCData.SetText(ConvertFloatToString(data.etc)); DateTime.SetText(data._time); } private string ConvertFloatToString(float value) { float truncatedFloat = Mathf.Floor(value * 100f) / 100f; return truncatedFloat.ToString() + " รส"; } void ShowUINextToClickedUI(Vector3 topPosition) { RectTransform parentRectTransform = rectTransform.parent.GetComponent(); var parentSize = parentRectTransform.rect.size; var uiSize = rectTransform.rect.size; float clampedX = Mathf.Clamp(topPosition.x + offset.x, -parentSize.x / 2 + uiSize.x / 2, parentSize.x / 2 - uiSize.x / 2); rectTransform.position = new Vector2(clampedX + offset.x, offset.y); gameObject.SetActive(true); } }