56 lines
1.7 KiB
C#
56 lines
1.7 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)
|
|
{
|
|
ShowUINextToClickedUI();
|
|
|
|
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()
|
|
{
|
|
RectTransform parentRectTransform = rectTransform.parent.GetComponent<RectTransform>();
|
|
|
|
Vector2 localPoint;
|
|
RectTransformUtility.ScreenPointToLocalPointInRectangle(parentRectTransform, Input.mousePosition, null, out localPoint);
|
|
|
|
var parentSize = parentRectTransform.rect.size;
|
|
var uiSize = rectTransform.rect.size;
|
|
|
|
float clampedX = Mathf.Clamp(localPoint.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);
|
|
}
|
|
}
|