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

53 lines
1.6 KiB
C#

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<RectTransform>();
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.localPosition = new Vector2(clampedX, offset.y);
gameObject.SetActive(true);
}
}